Json解析为c#对象

时间:2017-04-22 12:00:57

标签: c# json firebase

大家好我尝试将json对象解析为c#对象。我有这个json:

{
  "etcacik": {
    "Id": 1,
    "Name": "etcacikmenusu",
    "Values": {
      "cacik": {
        "Id": 2,
        "Price": 2
      },
      "et": {
        "Id": 1,
        "Price": 10
      }
    }
  }
}

关于这个对象的课程:

public class MenuItem
{
    public string Id { get; set; }
    public string Name { get; set; }
    public List<MenuSubItem> Values { get; set; }
}
public class MenuSubItem
{
    [JsonProperty(PropertyName = "Id")]
    public string Id { get; set; }
    [JsonProperty(PropertyName = "Name")]
    public string Name { get; set; }
    [JsonProperty(PropertyName = "Price")]
    public string Price { get; set; }
}

我在处理服务中的代码:

HttpResponseMessage response = client.GetAsync("Menu.json?auth=XXXXXXXXXXXXXXX").Result;
var JSON= response.Content.ReadAsStringAsync().Result;
var data = JsonConvert.DeserializeObject<MenuItem>(JSON);

我想要做的是公开显示列表中包含json字符串的对象,并对它们执行CRUD操作。 但由于我没有将这些对象显示为列表,我需要在子项中显示它们。 但是当我没有像我想要的那样列出传入的json字符串时,我收到错误。

使用反馈进行编辑:

public class MenuItem
{
    public string Id { get; set; }
    public Dictionary<string, MenuSubItem> Values;
}
public class MenuSubItem
{
    public string Id { get; set; }
    public string Price { get; set; }
}

为:

var data = JsonConvert.DeserializeObject<Dictionary<string, MenuItem>>(jsonString);

0 个答案:

没有答案