@Farrien
Tell me who

Почему JSON.parse не хочет работать с тегом a href?

blocks: JSON.parse('[{"type":"header","data":{"text":"Тест","level":1}},{"type":"paragraph","data":{"text":"Тут вот <a href=\"https:\/\/wordpress.org\/plugins\/woo-variations-style-buttons\/\">ссылка<\/a>."}}]')

Выводит ошибку на моменте в кавычке перед https
Не знаю как исправить. На PHP все круто работает.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Потому что вы задаёте строку напрямую в коде. Из кода описание строки вида '{ foo: "b\"ar" }' превращается в памяти в строку { foo: "b"ar" } после чего JSON.parse, пытаясь её распарсить, естественно, спотыкается.
Когда вы получаете ajax ответ от сервера вида { foo: "b\"ar" } сразу строкой, он именно таком виде и идёт в память.
Если хотите получить строку содержащую символы экранирования - эти символы также надо заэкранировать:
blocks: JSON.parse('[{"type":"header","data":{"text":"Тест","level":1}},{"type":"paragraph","data":{"text":"Тут вот <a href=\\"https://wordpress.org/plugins/woo-variations-style-buttons/\\">ссылка</a>."}}]')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Сначала соберите строку.
2. И только потом энкодируйте её в json.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы