Расшифровка JSON с неизвестной структурой - PullRequest
0 голосов
/ 21 ноября 2010

Я ищу, чтобы получить структуру объекта JSON без предопределенных знаний о том, что он может содержать.Чтобы уточнить, мне можно дать

[{"x":0,"y":0.4991088274400681,"z":7.489443555361306}, {"x":0,"y":0.7991088274400681,"z":7.489343555361306},{"x":0,"y":0.5991088274400681,"z":7.482445555361306}]

или даже что-нибудь сумасшедшее, например:

'AL': {name:'Alabama', landarea:131426, waterarea:4338, population:[3525342,4243844]},
'AK': {name:'Alaska', landarea:1418400, waterarea:234324, population:[43230943,43230943]}

Другими словами, я понятия не имею, какой JSON я получу,но я хотел бы знать, что в первом есть x, y и z со связанным значением, или AL, AK и name, landarea, waterarea и массив популяций во втором.

Это похоже на получение заголовков столбцов в Excel. Я знаю, что будет повторяющаяся структура.

Это единственный способ разобрать это, используя JSON_decode, а затем выполнить проверки typeOf, чтобы увидеть, является ли то, что у меня есть, Object / Array /Строка?Это кажется довольно неуклюжим.

1 Ответ

3 голосов
/ 21 ноября 2010

Встроенная в браузер функция декодирования JSON может обрабатывать любой правильно сформированный JSON.Вам нужна функция, которая может понимать декодированный JSON.Это невозможно, по крайней мере, если у вас нет абсолютно никаких предварительных знаний или способов обработки данных.Однако, если вам нужно знать только тип данных для каждого компонента, typeof будет работать нормально.

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