从JsonArray中提取JsonObject

时间:2012-09-06 14:29:17

标签: c# json .net-4.5 system.json

我有一个问题需要从Arry中提取JasonObject,它包含一些没有名称的对象。我已经通过批量请求表格graph.facebook获得了数组。

[
    {
    "code":200,
    "headers":[{...}],
    "body":"{
        \"id\":\"255572697884115_1\",
        \"from\":{
            \"name\":\"xyzk\",
            \"id\":\"59788447049\"},
        \"message\":\"Hey\",
        \"created_time\":\"2011-11-04T21:32:50+0000\"}"},
    {
    "code":200,
    "headers":[{...}],
    "body":"{
        \"id\":\"255572697884115_2\",
        \"from\":{
             \"name\":\"xyzk\",
             \"id\":\"59788447049\"},
        \"message\":\":P\",
        \"created_time\":\"2012-01-03T21:05:59+0000\"}"}
]

现在我必须阅读包含对象的vaules“message”,但我不知道如何访问数组中的对象。任何人都可以帮助我吗?

我想使用System.Json,另外还有Newtonsoft.Json。

在Java中,GetJsonObject()很容易使用,但是如何使用VSC#成功?有一个方法JsonValueLinqExtensions.ToJsonObject但我不知道,如何使用。能不能给我一个例子?

到目前为止,谢谢你,

1 个答案:

答案 0 :(得分:2)

您可以使用JavaScriptSerializer对象将JSON解析为dynamic,例如。

var serializer = new JavaScriptSerializer();   
var result = serializer.Deserialize<dynamic>(json);
foreach (var item in result)
{
    Console.WriteLine(item["body"]["message"]);
}