2012-02-23 5 views
24

мне нужно хранить 3 имена домашних животных в формате string, анализировать их в массив, а затем прочитать по одномуJSON массив Javascript

Пример

pets = '{{"name":"jack"},{"name":"john"},{name:"joe"}}'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 

Но это не работает.

Также мне нужно добавить запись в массив (возможно, с push), но у меня также проблемы.

У кого-то есть идея, как это сделать?

ответ

57

Ваш JSON неисправен. Попробуйте это:

var pets = '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}'; 
var arr = JSON.parse(pets); 
alert(arr.pets[0].name); 
16

JSon массивы ограничены [] скобки

попробовать

pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

также вы забыли использовать «'s на имя последнего свойства.

5

да просто изменить его в этом квадратные скобки также проверьте двойные котировки на последнем элементе

pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 
1
pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; 

var arr = JSON.parse(pets); 

alert(arr[0].name); 
+2

e сообщите свой код. ответы на код не поощряются. – RedEyedMonster

11

Более простой массив JSON (массив строк) фитинг ответ:

["jack", "john", "joe"]; 

Собирая вместе JavaScript:

var pets = '["jack", "john", "joe"]'; 
 
var arr = JSON.parse(pets); 
 
console.log(arr[0]);