2012-02-23 21 views
24

Tôi cần lưu trữ 3 tên con vật cưng ở định dạng string, phân tích chúng thành mảng và sau đó đọc từng cái mộtJSON mảng javascript

Ví dụ

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

var arr = JSON.parse(pets); 

alert(arr[0].name); 

Nhưng nó không hoạt động.

Ngoài ra tôi sẽ cần thêm mục nhập vào mảng (có thể là đẩy) nhưng tôi cũng gặp sự cố.

Ai đó có ý tưởng cách thực hiện?

Trả lời

57

JSON của bạn không đúng định dạng. Hãy thử điều này:

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

mảng JSON được bao bọc bởi [] dấu ngoặc

thử

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

cũng bạn quên sử dụng "'s vào tên tài sản cuối cùng.

5

vâng chỉ cần thay đổi nó để dấu ngoặc vuông này cũng kiểm tra các trích dẫn kép trên phần tử cuối cùng

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

Pleas e cung cấp một lời giải thích với mã của bạn. các câu trả lời chỉ có mã không được khuyến khích. – RedEyedMonster

11

Một mảng JSON đơn giản (một mảng của chuỗi) phù hợp câu trả lời:

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

Đưa nó với nhau như JavaScript:

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

Các vấn đề liên quan