这是我需要反序列化的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,两者都返回空值,除非我使用SSheets,我得到一个0表示id,null表示字符串名和accessLevel。任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
在阅读关于这个主题的许多其他问题并阅读他们的建议以使用Json.Net后,我决定使用Newtonsoft.Json。它是第一次尝试。 .Net DataContract不值得麻烦。谢谢你的帮助。