Преобразуйте строку JavaScript в массив

Я получаю массив объектов от скрытого поля ввода HTML. Строка, которую я получаю:

"{"id":"1234","name":"john smith","email":"jsmith@blah.com"},{"id":"4431","name":"marry doe","email":"mdoe@blah.com"}"

Теперь я должен передать это как массив объектов снова. Как я преобразовываю эту строку в массив объектов?

5
задан dev.e.loper 26 April 2010 в 00:41
поделиться

2 ответа

var array_of_objects = eval("[" + my_string + "]");

Это выполняет строку как код, поэтому нам нужно добавить [], чтобы сделать ее объектом. Это также одно из немногих законных применений eval, поскольку это самый быстрый и простой способ. : D

13
ответ дан 18 December 2019 в 07:28
поделиться

Предполагая, что str содержит допустимый синтаксис JSON, вы можете просто вызвать eval (str) .

По соображениям безопасности лучше использовать парсер JSON , например:

JSON.parse(str);

Обратите внимание, что str должен быть заключен в [] , чтобы быть допустимым массивом JSON.

8
ответ дан 18 December 2019 в 07:28
поделиться
Другие вопросы по тегам:

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