Доступ к вложенным объектам в Json - PullRequest
0 голосов
/ 14 мая 2009

У меня есть пользовательский объект, который содержит другие элементы (например, массивы, строки, другие типы объектов).

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

Во-вторых, я не знаю, сколько существует уровней вложенности (поскольку объект динамически генерируется из серверной части и передается мне как один объект).

Любые идеи (и я должен просто использовать javascript / jQuery или оба, чтобы сделать это наиболее эффективно)?


Спасибо, я попробую код. Я получаю набор результатов из веб-службы, которая каждый раз возвращает различный набор столбцов (с разными типами данных) и строк. Я не знаю имен столбцов, поэтому я пытаюсь получить данные, как могу.

В зависимости от типа данных я буду выполнять различные действия (суммировать сумму, форматировать ее и т. Д.).

1 Ответ

2 голосов
/ 14 мая 2009

JSON-сериализованные объекты содержат иерархию, без каких-либо ссылочных циклов, поэтому ее следует пройти довольно просто, что-то вроде

function visit(JSONobj, f)
{ 
   for (var key in JSONobj)
   {
       var value = JSONobj[key];
       f(key,value);
       if (value instanceof Object)
           visit(value, f);
   }
}

где f - это функция, которая что-то делает с ключами и значениями. (конечно, вы можете просто написать функцию, чтобы сделать это напрямую).

Что именно вы пытаетесь найти в объекте?

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