JSON вложенный массив - PullRequest
       3

JSON вложенный массив

2 голосов
/ 14 января 2011

Допустим, у меня есть следующий JSON

{
   "data": [
      {
         "from": {
            "name": "aaa bbb",
         },
         "actions": [
            {
               "name": "Comment",
               "link": "http://...
            },
            {
               "name": "Like",
               "link": "http://.."
            }
         ],
      },

И у меня есть

JSONObject wallData = helper.Get("/me/feed");
if (wallData != null)
{
    var data = wallData.Dictionary["data"];
    List<JSONObject> wallPosts = data.Array.ToList<JSONObject>();
}
foreach (Facebook.JSONObject wallItem in wallPosts)
{  ... }

Который сохраняет весь канал в wallData и объект «data» в wallPosts. Так что тогда я могу получить доступ к wallItem.Dictionary["from"].Dictionary["name"], и я получаю "ААА BBB". Но я не могу попасть внутрь массива действий WallItem.Dictionary ["actions"]. Словарь ["name"] не работает.

Любая идея

Ответы [ 2 ]

1 голос
/ 14 января 2011

Вам нужно сделать что-то вроде wallItem.Dictionary["actions"][0].Dictionary["name"], потому что "actions" - это массив.

0 голосов
/ 14 января 2011

На другой ноте ... лучше, если вы прямо в класс ... как здесь

var jSerializer = new JavaScriptSerializer();
var jsonObject = jSerializer.Deserialize<DataObject>(json);

DataObject будет классом, который эмулирует данные JSON в строго типизированном классе.В зависимости от размера вашего Json вам не придется использовать много строк в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...