Возможно ли получить «схему» файла json? - PullRequest
0 голосов
/ 22 января 2009

Итак, у меня есть файл json, и я хочу получить имена всех полей в файле, используя javascript. Есть ли лучший способ, чем использовать eval и затем использовать отражение в результирующем объекте? Или это не имеет смысла? Спасибо.

Ответы [ 5 ]

3 голосов
/ 22 января 2009

Вы должны сделать то, что используют некоторые фреймворки, например:

http://www.prototypejs.org/api/string/evalJSON

Проверяет, очищен ли JSON. Но кроме этого он просто использует старый простой eval () в конце.

2 голосов
/ 22 января 2009

Обратите внимание, что существует предложение для JSON-схемы , определенной в JSON. У них даже есть валидатор в коде Google, так что вы можете найти применение этому даже сейчас.

2 голосов
/ 22 января 2009

Если вы не хотите каким-либо образом анализировать текст, я бы предложил самый простой способ - оценить его и цикл, чтобы получить все имена полей.

1 голос
/ 22 января 2009

Ну, было бы сложно из-за вложенности и тому подобного. Это зависит от вашей структуры. А «отражение» в javascript не влияет на производительность, так что не стесняйтесь пройтись по членам объекта. Или вы можете свернуть свой собственный анализатор на основе спецификаций JSON.

0 голосов
/ 22 января 2009

Файл JSON не обязательно должен соответствовать согласованной схеме. Там могут быть рваные ряды; элементы могут различаться по последовательности в строках; любая строка может иметь любые элементы (или ни одного). Все в иерархическом узле. Так что придумать то, что вы хотите, осмотром (отражением) может быть довольно рискованно.

Нельзя сказать, что какие-либо стороны, участвующие в использовании формата JSON, не могли бы ввести больше структурных требований, но тогда у вас будет схема, с которой можно начать.

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