2010-08-23 29 views
12

Hãy asume rằng tôi có biến json:làm thế nào để tham khảo lĩnh vực json

var json ={"A":"a","B":"b","x":"y","a":"b"} 

Khi tôi muốn đề cập đến một tôi chỉ viết json.A

Làm thế nào để làm điều đó khi tôi có chìa khóa trong một biến, tức là:

var key = "A"; 

Có hàm nào trả về giá trị hoặc null (nếu khóa không nằm trong json) không?

Trả lời

24

Sử dụng khung ký hiệu, như thế này:

var key = "A"; 
var value = json[key]; 

Trong Javascript hai đều tương đương:

object.Property 
object["Property"]; 

Và chỉ để được rõ ràng, đây không phải là JSON cụ thể, JSON chỉ là một cụ thể tập con của ký hiệu đối tượng ... hoạt động trên bất kỳ đối tượng JavaScript nào. Kết quả sẽ là undefined nếu không có trong đối tượng, you can try all of this here.

+0

1. Lưu ý rằng mặc dù hai hình thức bạn đề cập là tương đương _only nếu thuộc tính không phải là một từ dành riêng _... trong đó có nhiều trong JS, và một số khá là bất ngờ. Vì vậy, theo nghĩa đó, 'object [" Property "]' an toàn hơn. OTOH, 'object.Property' có lợi thế (khi' Property' được biết là tĩnh) mà các công cụ như JSLint có thể chạy kiểm tra trên chúng. – LarsH

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