@bizir

Как узнать что передается именно JSON?

Занялся разработкой серверной части для приложения. В качестве сервера использую Node js.Так вот от приложения приходят данные на сервер в JSON формате там парсятся, проверяются и передаются обратно. Но если на сервер передать любую другую строку
например "dhsdsds", то Node.js сразу вылетает не выдавая никаких ошибок. Может кто подскажет как узнать что строка именно в JSON формате?
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
petyagrill
@petyagrill
var parsedData;

try {
    parsedData = JSON.parse(data)
} catch (e) {
    // is not a valid JSON string
}


Такой вариант вам не подходит?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
erniesto77
@erniesto77
oop, rb, py, php, js
try {
    jQuery.parseJSON(response);
} catch(error) {
    // это не json
}
Ответ написан
Комментировать
@protven
Сервер по http дергается ? Приличные люди используют заголовки, типа
Content-Type: application/json . Фильтруйте по нему.

Node.js, кстати, внезапно не "язык для сервера" и вообще не "язык".
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
В качестве языка

в качестве языка вы используете javascript. Feel the difference.

то Node.js сразу вылетает не выдавая никаких ошибок.

оно где-то внутри выкидывает исключение когда делает JSON.parse.

строка именно в JSON формате?

Заголовок Content-Type, но есть шанс что писать клиент может слабоумный который не будет верно выставлять этот заголовок, так что вам надо всеравно наладить обработку ошибок. Это только в PHP позволительно ничего не делать, и то только если придерживаться классической умирающей модели.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы