JSON数组javascript

Joe*_*Doe 27 javascript json

我需要以string格式存储3个宠物名称,将它们解析为数组,然后逐个读取

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

var arr = JSON.parse(pets);

alert(arr[0].name);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

此外,我需要添加数组的条目(可能与)但我也有问题.

有人知道怎么做吗?

Bra*_*ord 58

你的JSON格式不正确.试试这个:

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

  • 为什么要添加另一层。还有从问题中解释了 JSON 有什么问题。请解释您确实发现了什么错误。 (2认同)

Dam*_*uid 19

JSon数组以[]括号为界

尝试

pets = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]';
Run Code Online (Sandbox Code Playgroud)

你忘了在最后一个属性名称上使用"s".


Ste*_*uan 13

适合答案的更简单的JSON数组(字符串数组):

["jack", "john", "joe"];
Run Code Online (Sandbox Code Playgroud)

将它们组合为JavaScript:

var pets = '["jack", "john", "joe"]';
var arr = JSON.parse(pets);
console.log(arr[0]); // jack
console.log(arr[1]); // john
console.log(arr[2]); // joe
Run Code Online (Sandbox Code Playgroud)


Ami*_*gdy 8

是的,只需将其更改为此方括号也检查最后一个元素的双引号

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

var arr = JSON.parse(pets);

alert(arr[0].name);
Run Code Online (Sandbox Code Playgroud)