C# 无法反序列化json

C# 无法反序列化json,c#,json,C#,Json,有人能帮我弄清楚如何在C中使用json.net反序列化它吗?我已经成功解析了一个不同的json,但是它的格式不同。我试着使用object,它说它需要一个数组,然后我把它改成数组,它说它需要一个数组。。 哦,还有其他不同类型的数组 "[ { "ID": 1, "TYPE": 1, "APP_TAG": 1, "alert": "[13:13] This is a Test Message - 0.", "sound": "Default", "b

有人能帮我弄清楚如何在C中使用json.net反序列化它吗?我已经成功解析了一个不同的json,但是它的格式不同。我试着使用object,它说它需要一个数组,然后我把它改成数组,它说它需要一个数组。。 哦,还有其他不同类型的数组

"[
  {
    "ID": 1,
    "TYPE": 1,
    "APP_TAG": 1,
    "alert": "[13:13] This is a Test Message - 0.",
    "sound": "Default",
    "badge": 0
  }
]"

因为它是一个数组/列表

public class Item
{
    public int ID { get; set; }
    public int TYPE { get; set; }
    public int APP_TAG { get; set; }
    public string alert { get; set; }
    public string sound { get; set; }
    public int badge { get; set; }
}

使用动态而不是对象。如果这是一个c字符串,你必须以@for多行字符串开始,并在字符串中使用双引号。我刚才用了这个作为例子,我实际上是从网络调用中获取JSon数组。每当你有JSon,我建议你的第一站是。插入JSON,它将为您提供需要反序列化的C类。然后如何获取每个对象?@user3322270 items[I]。ID,items是一个列表。绕过去就行了。
var items = JsonConvert.DeserializeObject<List<Item>>(json);
string json = @"[
  {
    'ID': 1,
    'TYPE': 1,
    'APP_TAG': 1,
    'alert': '[13:13] This is a Test Message - 0.',
    'sound': 'Default',
    'badge': 0
  }
]";

var items = Newtonsoft.Json.JsonConvert.DeserializeObject(json);