Ответ 1
jQuery parseJson генерирует исключение, если json не в правильном формате. Вы можете обернуть свой звонок в блок catch try. (Но помните, что наличие исключений в вашем нормальном потоке кода - это плохая практика)
data = '{}';
try {
json = $.parseJSON(data);
} catch (e) {
// not json
}
Вы также можете использовать собственный метод JSON.parse()
, который генерирует исключение SyntaxError
Если вы ожидаете, что плохой JSON будет частью вашего обычного рабочего процесса программы, вы можете сначала проверить его с помощью регулярного выражения, Ответ на микрофон довольно прочный Но в вашем случае PHP должен всегда генерировать действительный json при нормальных условиях. Если его недействительный, вероятно, есть ошибка в вашем программном обеспечении.