我正在尝试将一些 json 反序列化为一个集合(列表),但我不确定哪种方法会返回一个对象列表,或者我是否必须遍历某些内容并将其复制到我自己的列表中?
谁能告诉我我应该为此使用的语法或方法。
我已经创建了具有一些属性的对象,因此可以使用它来保存数据。(标题,网址,说明)
我试过这个,但它似乎不太正确
 List<newsItem> test = (List<newsItem>)JsonConvert.DeserializeObject(Fulltext);
    您是否尝试查看帮助?
http://james.newtonking.com/json/help/?topic=html/SerializingCollections.htm
string json = @"[
  {
    ""Name"": ""Product 1"",
    ""ExpiryDate"": ""\/Date(978048000000)\/"",
    ""Price"": 99.95,
    ""Sizes"": null
  },
  {
    ""Name"": ""Product 2"",
    ""ExpiryDate"": ""\/Date(1248998400000)\/"",
    ""Price"": 12.50,
    ""Sizes"": null
  }
]";
List<Product> products = JsonConvert.DeserializeObject<List<Product>>(json);
Console.WriteLine(products.Count);
// 2
Product p1 = products[0];
Console.WriteLine(p1.Name);
// Product 1
    我正在使用这些扩展方法:
    public static string ToJSONArray<T>(this IEnumerable<T> list)
    {
        DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(IEnumerable<T>));
        MemoryStream ms = new MemoryStream();
        s.WriteObject(ms, list);
        return GetEncoder().GetString(ms.ToArray());
    }
    public static IEnumerable<T> FromJSONArray<T>(this string jsonArray)
    {
        if (string.IsNullOrEmpty(jsonArray)) return new List<T>();
        DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(IEnumerable<T>));
        MemoryStream ms = new MemoryStream(GetEncoder().GetBytes(jsonArray));
        var result = (IEnumerable<T>)s.ReadObject(ms);
        if (result == null)
        {
            return new List<T>();
        }
        else
        {
            return result;
        }
    }
你需要像这样装饰你的对象:
[DataContract]
public class MyJSONObject
{
    [DataMember]
    public int IntValue { get; set; }
    [DataMember]
    public string StringValue { get; set; }
}
    尝试使用数组而不是通用列表。这可能会有所帮助。