DataContractJsonSerializer returning nulls .Net4.0
本文关键字:Net4 nulls returning DataContractJsonSerializer | 更新日期: 2023-09-27 18:28:51
这是我需要反序列化的json字符串:
[{"id":5236083584722820,"name":"IT_Projects","accessLevel":"EDITOR"},
{"id":2034305724639108,"name":"IT_Task","accessLevel":"EDITOR"},
{"id":2249810003683204,"name":"On-Hold","accessLevel":"EDITOR"}]
这是代码:
[DataContract]
public class SSCollection
{
[DataMember]
public List<SSheets> sheetObjects { get; set; }
}
[DataContract]
public class SSheets
{
[DataMember]
public Int64 id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string accessLevel { get; set;}
}
using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
memoryStream.Position = 0;
var serializer = new DataContractJsonSerializer(typeof(SSCollection));
SSCollection ss = (SSCollection)serializer.ReadObject(memoryStream);
return ss;
}
我不知道如何处理json字符串,它看起来是一个数组,但没有命名。我尝试过使用SSheets DataContract和使用SSCollection,两者都返回null,除非当我使用SSheet时,我得到id为0,字符串名称和accessLevel为null。任何帮助都将不胜感激。谢谢
A在阅读了许多关于这个主题的其他问题并阅读了他们对使用Json.Net的建议后,我决定使用Newtonsoft.Json。第一次尝试就成功了。Net DataContract根本不值得这么麻烦。谢谢你的帮助。