2009-05-14 4 views
0

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

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

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

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


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

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

ответ

2

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 есть функция, которая делает что-то с ключами и значениями. (конечно, вы можете просто написать функцию, чтобы сделать это напрямую).

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

Смежные вопросы