2015-06-12 3 views
4

Я хочу, чтобы преобразовать следующую строку в массивАнализировать JSON массив из строки

var string = '["YES","NO"]'; 

Как мне это сделать?

+0

является массив объектов == массив объектов –

+0

Преобразовать строку в массив? Это уже массив. Опишите вашу проблему в деталях и сообщите нам, что вы пробовали –

+0

Это не массив. Это строка. Это то, что я получил первым в свой javascript Object {1: "[" YES "," NO "]"} И теперь я хочу преобразовать значение этого ключа ("[" YES "," NO "]") в массив – Sriya

ответ

1
var str= '["YES","NO"]'; 
var replace= str.replace(/[\[\]]/g,''); 
var array = replace.split(','); 

Fiddle: http://jsfiddle.net/9amstq41/

+0

'alert (« YES ».length); alert (array [0] .length); ' –

+0

' var str = '["Вы [[уверены?]]", "Нет, не совсем"]'; ' –

6

использовать глобальный метод JSON.parse

JSON.parse('["YES","NO"]'); // returns ["YES", "NO"] 

Вы можете также использовать метод JSON.stringify записать массив обратно в строку, если тот, как вы сохраняя его.

JSON.stringify(["YES", "NO"]); // returns '["YES", "NO"]' 
+2

Я предпочитаю этот подход к версии регулярного выражения. Более читаемый – jasonscript

+1

И улучшенная читаемость - это наименее важная вещь. –

+0

Спасибо, я понял. оно работает – Sriya

0

Вы также можете использовать $ .parseJSON:

var string = '["YES","NO"]'; 
var array = $.parseJSON(string); 
Смежные вопросы