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。任何帮助都将不胜感激。谢谢

DataContractJsonSerializer returning nulls .Net4.0

A在阅读了许多关于这个主题的其他问题并阅读了他们对使用Json.Net的建议后,我决定使用Newtonsoft.Json。第一次尝试就成功了。Net DataContract根本不值得这么麻烦。谢谢你的帮助。