Я имею в виду много сайтов о рекурсии JSON, как показано нижеJQuery комплекс JSON имя объекта
JavaScript recursion does not work properly
jQuery recursive iteration over objects
, но большинство из них либо знает ключ или итерацию с помощью клавиш знать. Также работают $ .each рабочие скважины, если значение ключа & являются строками, такими как {"firstname": "lastname"} &, тогда функция (k, v) может выдавать значение & как k & v соответственно.
Но в случае, если объект JSON является сложным & мы не, Что приходит, что это ключ может быть любым, например, в JSON1 & JSON2 отличаются в ключах один, три, два в JSON1 заменяется на пять, шесть & десять в JSON2.
JSON1
{
"one": true,
"three": [
"red",
"yellow",
[
"blue",
"azure",
"cobalt",
"teal"
],
"orange"
],
"two": 19.5
}
JSON2
{
"five": true,
"six": [
"red",
"yellow",
[
"blue",
"azure",
"cobalt",
"teal"
],
"orange"
],
"ten": 19.5
}
Если некоторые, как мы можем знать имя ключа & затем сравнить это было бы нормально. легче сравнивать ключи, для этого тэгу следует работать, как предложено в URL ниже
Can jQuery provide the tag name?
Но для обычного объекта JSON атрибут тега не похоже на работу. Проверка атрибутов firefox, таких как text(), attr(), не дает мне tagName. Я хочу, чтобы петля через json-объект (на практике я использую плагин xml2json для преобразования xml в формат выше json) & сравнить ключ, если существует и выполнять действие. Я знаю, что в XML вы можете сделать то же самое, используя имя nodeName. Как я должен делать то же самое с использованием объекта JSON.
Тем не менее я не уверен, что у меня на этот вопрос, но, возможно, вам «Говорят о чем-то вроде указателей JSON (ака XPath для JSON)? В этом случае, возможно, [эта библиотека] (http://goessner.net/articles/JsonPath/) может быть полезна? – raina77ow
Например, если вы итерируете таблицу html, в которой есть строка и ячейки, вы можете написать 3 цикла для каждой таблицы, каждой строки и каждой ячейки, но что, если в каждой ячейке есть таблица внутри нее. Однако здесь вы знаете, что существуют определенные три таблицы тегов, строка и ячейка, но если элементы объекта JSON могут поступать в любом порядке, как указано выше в JSON1 & JSON2, и вы повторяете его, как бы вы знали, что является текущим элементом, не зная tagName. Поэтому, если структура структуры объекта и элементов JSON (key, val) изменяется, как можно узнать, какой текущий ключ и, следовательно, его дочерние элементы обрабатываются – user593029
Неважно, сколько строк и столбцов имеет ваша таблица. Дело в том, что у него есть _rows_ и _columns_; поэтому ваша итерация всегда будет двухуровневой. – raina77ow