Является ли проверка JSON лучшей практикой?

Это лучшая практика для проверить JSON?

Как с Предложение схемы JSON, так и с Реализация валидатора схемы JSON на JavaScript, эта практика может показаться относительно простой для реализации. Итак, должно ли это быть частью любого надежного приложения? Или вы используете другие предпочтительные стратегии для обработки плохого JSON?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
19
0
8 914
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

На сервере обязательна проверка данных, поступающих извне.

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

Как вы выполняете проверку на стороне сервера? Я выкидываю свой JSON из PL / SQL, отправляя его обратно принимающему компоненту DOJO. По приведенным выше ссылкам JSON я мог видеть, как выполнять проверку на стороне клиента ... но на стороне сервера не так ясно.

user290 21.11.2008 19:13

Я имею в виду проверку на сервере данных, полученных из внешнего мира. Если вы беспокоитесь о том, чтобы направить его как JSON в этом направлении. Я думаю здесь о безопасности; для отладки данных, поступающих в другую сторону, достаточно проверки на клиенте. Боюсь, что безуспешно я накручиваю свой собственный код проверки.

moonshadow 21.11.2008 19:25

Мой 2с по этому поводу таков:

(a) Да, очевидно, что входящие данные должны быть проверены, но

(b) Лучшее место для этого НЕ с данными Json как есть, а с реальными объектами бизнес-логики, если используется привязка данных. Проверка JSON имеет смысл только в том случае, если вы обрабатываете «необработанный» JSON, но большинство служб (по крайней мере, в Java) сначала используют привязку данных, а затем работают с объектами бизнес-логики, а не с форматом данных (который часто является почти деталью реализации)

Другие вопросы по теме