2016-03-25 16 views
5

Làm cách nào để truy cập vào số thứ hai "19", nằm trong mảng Số trong JSON sau? Tôi đã thử mọi cách và không thể.truy cập các giá trị dưới dạng JSON

{ 
    "Numbers": [{ 
    "1": 6 
    }, { 
    "2": 19 
    }, { 
    "3": 34 
    }, { 
    "4": 38 
    }, { 
    "5": 70 
    }], 
    "MB": 5, 
    "MP": "05", 
    "DrawDate": "2016-03-22T00:00:00" 
} 
+1

'myVar.Numbers [1] [ '2'] ' –

+0

trong đó ngôn ngữ ?? – Jois

+0

Javascript là ngôn ngữ – ConfusedDeer

Trả lời

3

Bạn sẽ truy cập vào nó như thế này:

console.log(jsonObj.Numbers[1][2]); 

này giả định rằng bạn lưu trữ mà JSON thành một biến gọi là jsonObj. Bạn không thể sử dụng các số làm khóa thuộc tính đối tượng để bạn không thể chỉ thực hiện jsonObj.Numbers[1].2.

1

Bạn có thể truy cập vào nó với

obj.Numbers[1][2] 

nơi 1 là chỉ số của đối tượng trong mảng và 2key

4

Bạn có thể truy cập với:

object.Numbers[1]['2'] 

Đó là bởi vì Numbers đối tượng là một mảng các đối tượng khóa-giá trị trong đó là giá trị mong muốn của bạn.

1

Để làm điều này, bạn nên phân tích nó thành Javascript, như vậy:

var myjson = JSON.parse('{"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}'); 

Sau khi đã được phân tích cú pháp bạn có thể làm

myjson.Numbers[1][2] 

Để truy cập vào phím (: 19) như bạn cũng sẽ làm

myjson.Numbers[1] 
1

Gán toàn bộ json thành var.

var obj = JSON.parse({"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}); 



obj.Numbers[1][2] 

Bạn sẽ có thể truy cập vào nó

+0

Bạn không cần phải sử dụng JSON.parse vì nó đã là JSON và không phải là một chuỗi. –

1

tôi nghĩ rằng nó là rất dễ dàng:

var myVars={"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"} 

myVars.Numbers sẽ cung cấp cho bạn: [{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}] yếu tố này là một mảng: phần tử đầu tiên myVars.Numbers[0]{"1":6}, thứ hai là myVars.Numbers[1]{"2":19}. Finaly, myVars.Numbers[1][2] là 19. Điều đó có nghĩa nếu bạn muốn acces đến số thứ hai của bạn 19 bạn phải viết: myVars.Numbers[1][2]

+1

Tôi nghĩ nó rất dễ, nhưng như Rayon Dabre đã đề cập, một điều cần nhớ là định dạng JSON không hỗ trợ ký tự không hợp lệ, "Tên thuộc tính đối tượng có thể là bất kỳ chuỗi JavaScript hợp lệ nào hoặc bất kỳ thứ gì có thể được chuyển đổi Tuy nhiên, bất kỳ tên thuộc tính nào không phải là mã định danh JavaScript hợp lệ (ví dụ: tên thuộc tính có dấu cách hoặc dấu gạch ngang hoặc bắt đầu bằng số) chỉ có thể được truy cập bằng hình vuông Ký hiệu khung này cũng rất hữu ích khi tên thuộc tính được xác định động ... – ConfusedDeer

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