#javascript #node.js
#javascript #node.js
Вопрос:
Я пытаюсь разобрать следующую строку JSON (не контролирую формат, я знаю, что это отвратительно).
var json = '{"what.1.does":"anything", "nestedjsonstr":"{"whatup":"nada"}"}';
obj = JSON.parse(json);
Я получаю Error: Unexpected token w in JSON at position 43
, с чего начинается первое значение nestedjsonstr . Есть ли какой-нибудь элегантный способ разобрать это?
Ответ №1:
Может быть, это может вам помочь. Вы заменяете фигурные скобки внутри своей строки без "
, и удаляете
.
var json = '{"what.1.does":"anything", "nestedjsonstr":"{"whatup":"nada"}"}';
json = json.replace('"{', '{').replace('}"', '}').replace('\"', '"');
obj = JSON.parse(json);
console.log(obj);
Комментарии:
1. Спасибо. Это работает. Достаточно ли безопасно очищать все управляющие символы (поскольку это очистило бы их во всей строке json)?
2. Может быть, попробовать
json = json.replace('"{', '{').replace('}"', '}').replace('\"', '"')
. Я отредактирую ответ