反序列化 IRestResponse 并写出到控制台,C#

问题描述

我正在使用 CalorieNinjas API 在 C# 中构建一个简单的控制台应用程序。 用户输入一种成分,API 以 JSON 格式返回各种营养值:
JSON output
我这边的问题是,我不知道如何将 JSON 输出反序列化为某种格式,如数组、列表或字典,以及如何将列表/字典值写入控制台。 我现在拥有的是一个代表输出 JSON 数据的类:

public class Nutrition
    {
        public double sugar_g { get; set; }
        public double fiber_g { get; set; }
        public int serving_size_g { get; set; }
        public int sodium_mg { get; set; }
        public string name { get; set; }
        public int potassium_mg { get; set; }
        public int fat_saturated_g { get; set; }
        public double fat_total_g { get; set; }
        public double calories { get; set; }
        public int cholesterol_mg { get; set; }
        public double protein_g { get; set; }
        public double carbohydrates_total_g { get; set; }
    }

然后是类级别的列表:

public List<Nutrition> NutritionList { get; set; }

我现在拥有的是:

        IRestResponse<Nutrition> response = client.Execute<Nutrition>(request);
        JsonDeserializer deserial = new JsonDeserializer();
        
        //foreach(var item in NutritionList)
        //{
        //  Console.WriteLine(item...)
        //}
        Console.ReadKey();

这可能是一个简单的解决方案,但我就是想不通。我很感激任何帮助:)

解决方法

简单的解决方案是

List<Nutrition> nutritionList= client.Execute<List<Nutrition>>(request).Data;