我有一个JSON字符串,我需要一些帮助来反序列化它。
对我来说什么都不管用。这是JSON:
{
"response": [{
"loopa": "81ED1A646S894309CA1746FD6B57E5BB46EC18D1FAff",
"drupa": "D4492C3CCE7D6F839B2BASD2F08577F89A27B4ff",
"images": [{
"report": {
"nemo": "unknown"
},
"status": "rock",
"id": "7e6ffe36e-8789e-4c235-87044-56378f08m30df",
"market": 1
},
{
"report": {
"nemo": "unknown"
},
"status": "rock",
"id": "e50e99df3-59563-45673-afj79e-e3f47504sb55e2",
"market": 1
}
]
}]
}
我有一个类的例子,但我不需要使用这些类。我不介意使用其他一些类。
以下是类:
public class Report
{
public string nemo { get; set; }
}
public class Image
{
public Report report { get; set; }
public string status { get; set; }
public string id { get; set; }
public int market { get; set; }
}
public class Response
{
public string loopa { get; set; }
public string drupa{ get; set; }
public Image[] images { get; set; }
}
public class RootObject
{
public Response[] response { get; set; }
}
我想提一下,我已经有了Newtonsoft.Json,所以我可以在那里使用一些函数。
我该怎么做呢?
发布于 2013-05-02 23:44:25
我在我的代码中像这样使用它,它工作得很好
下面是你需要写的一段代码
using System.Web.Script.Serialization;
JavaScriptSerializer oJS = new JavaScriptSerializer();
RootObject oRootObject = new RootObject();
oRootObject = oJS.Deserialize<RootObject>(Your JSon String);
发布于 2013-05-02 21:26:28
应该是这样的:
var jobject = JsonConvert.DeserializeObject<RootObject>(jsonstring);
您可以将json字符串粘贴到此处:http://json2csharp.com/以检查您的类是否正确。
发布于 2013-05-02 21:31:06
如果您使用的是C# 2010或更新版本,则可以使用dynamic type
dynamic json = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonstring);
然后,您可以使用点表示法访问动态对象中的属性和数组:
string nemo = json.response[0].images[0].report.nemo;
https://stackoverflow.com/questions/16339167
复制相似问题