@saalaus

Как мне спарсить подобную строку?

У меня есть подобная строка
"{one:{hello:[{two:three}]}}"
Как мне её превратить в JSON объект, если функцияJSON.parse() выводит ошибку
SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
AngReload
@AngReload
Кратко о себе
Надо использовать декодер JSON5
https://json5.org/

Оу, не заметил, что у вас three не в кавычках. Тогда не взлетит.

Тогда можно попробовать так:
var myjson = unquotedJson.replace(/(['"])?([a-zA-Z0-9]+)(['"])?/g, '"$2"');
JSON.parse(myjson)

но это ненадёжно, если формат входной строки не известен, может там русские буквы будут или ещё что-нибудь
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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