Ошибка при парсинге JSON на JS
Есть вот такой JSON (это, если важно, формула из экселя):
{"value":"=IF(C23=1,IF(C21=0,IF(C38=E38,CONCATENATE(TEXT(AB15,\"# ##0\"),\" - \u043f\u0435\u0440\u0432\u044b\u0435 \",W13,\" \u043c\u0435\u0441. \",\" \",),0),0),IF(C21=0,IF(C38=E38,CONCATENATE(TEXT(Z15,\"# ##0\"),\" - \u043f\u0435\u0440\u0432\u044b\u0435 \",W13,\" \u043c\u0435\u0441. \",\" \",),0),0))"}
При вызове JSON.parse к этому JSON возникает ошибка:
Uncaught SyntaxError: Unexpected token # in JSON at position 63
С чем это может быть связано?
Ответы (1 шт):
Автор решения: Платон
→ Ссылка
В данном случае можно не использовать функцию JSON.parse. Объект приходит от json_encode ($array) в PHP, а console.log вызывается из тега script, который выводится в документ через echo:
$json = json_encode ($array, JSON_HEX_TAG | JSON_HEX_AMP);
echo "<script>console.log ({$json})</script>";
Поэтому JSON.parse нет необходимости использовать, ведь JSON - это уже объект JS.