У меня есть фрагмент кода с Eval(), как показано ниже:Ошибка при преобразовании Eval() в JSON.parse()
var data = "{listUpdated:[],listConflictOrMerge:[]}"; //returned from Ajax
var results = eval("(" + data + ")");
console.log(results)
Как вы можете видеть, данные это мое входное значение, возвращаемое из запроса ajax. При использовании eval() он может обрабатываться двумя объектами массива.
И теперь я больше не хочу использовать eval(), поэтому я пытаюсь использовать JSON.parse(). Однако есть ошибка.
var data = "{listUpdated:[],listConflictOrMerge:[]}"; //returned from Ajax
var results = JSON.parse(data);
console.log(results)
моя цель состоит в том, что я не хочу использовать Eval() больше для анализа данных.
Итак, можно ли это сделать?
Я пытаюсь использовать JSON, но мне не повезло. Я где-то ошибаюсь?
Вы не можете использовать 'JSON.parse' выполнить произвольный код на JavaScript. Это предназначено только для JSON. –
'' {listUpdated: [], listConflictOrMerge: []} "это недопустимо JSON - ключи должны быть в двойных кавычках. Это правильное представление: '' {"listUpdated": [], "listConflictOrMerge": []} '' – vlaz
вы правы, @vlaz. –