Десериализация для строки JSON, содержащей коллекцию Array - PullRequest
0 голосов
/ 19 октября 2011

Я использую JavaScriptSerializer для десериализации строки Json.Эта строка Json содержит коллекцию массивов типа

{ "data": [
    // **
    { "id": "1234",
      "from": {
        "name": "abc",
        "id": "000041"
      },
      "message": "user message",
      "updated_time": "2011-10-06T10:14:18+0000",
      "likes": {
        "data": [
          { "id": "94387930",
            "name": "XXXX"
          }
        ]
      },
      "comments": {
        "data": [
          { "id": "7127141",
            "from": {
              "name": "YYYYY",
              "id": "888888"
            },
            "message": "comment message",
            "created_time": "2011-10-06T10:20:44+0000"
          }
        ]
      }
    }
    // **
  ]
}

Секция, окруженная **, повторяется N разПожалуйста, помогите мне понять, как десериализовать этот JSON.

Спасибо

1 Ответ

0 голосов
/ 19 октября 2011

Я не уверен, что вы подразумеваете под "десериализацией", но вы можете использовать этот объект прямо, например:

var jData = {...your json...};
for(var i = 0; i < jData.data.length; i++)
{
    document.write(jData.data[i].id + '<br />');
}

Проверьте эту скрипку для полного примера:

http://jsfiddle.net/nJ369/1/

Если вы хотите проанализировать вывод JSON из выделенного кода ASP.Net, вы можете использовать библиотеку синтаксического анализа JSON, такую ​​как JSON.NET или любую из перечисленных на официальном веб-сайте JSON под C #.

...