Задать вопрос

Как проверить структуру JSON (не валидация)?

Когда приходит ответ от сервера в виде JSON, как можно эффективно проверить его структуру? Т.е. имееются ли в нем все нужные поля, учитывая иерархичные структуры?
  • Вопрос задан
  • 8233 просмотра
Подписаться 5 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
kivsiak
@kivsiak
software engineer
Распарасить и проверить как любой объект
Ответ написан
Комментировать
@LastDragon
Посмотрите в сторону JSON Schema, вроде как для этого бала придумана (http://ru.wikipedia.org/wiki/JSON#JSON_Schema, json-schema.org/).
Ответ написан
Как отправная точка:
JSON.isOfPattern = function(json, props){
	if (json == null) return false;
	for(var key in props){
		if (key in json == false) return false;
		if (typeof props == 'object' && !JSON.isOfPattern(json[key],props[key])) return false;
	}
	return true;
}

var json = { name: 'A', address: { city: 'Berlin'}};
JSON.isOfPattern(json, {name:null, address: {city: null} });
Ответ написан
@MikhailEdoshin
Если вы уверены, что JSON пришел от правильного сервера, зачем его проверять?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
20 дек. 2024, в 08:10
10000 руб./за проект
20 дек. 2024, в 03:44
50000 руб./за проект
20 дек. 2024, в 03:38
1500 руб./в час