javascript - 引用 JSON (Javascript) 对象的元素

标签 javascript json arrays element

如何引用 JSON (Javascript) 对象的元素。 example: alert(homes.Agents[1].name);

<script>
    var homes = [
 {
    "Agents" : {
        "name" : "Bob Barker",
        "name" : "Mona Mayflower" 
    },
    "Listings" : [
        {
            "h_id": "3",
            "city": "Dallas",
            "state": "TX",
            "zip": "75201",
            "price": "162500" 
        },
        {
            "h_id": "4",
            "city": "Bevery Hills",
            "state": "CA",
            "zip": "90210",
            "price": "319250" 
        },
        {
            "h_id": "5",
            "city": "New York",
            "state": "NY",
            "zip": "00010",
            "price": "962500" 
        } 
    ]
}

];

</script> 

最佳答案

上面的 JSON 不是很好,在 Agents 值的情况下,第二个键将覆盖第一个。

你的意思可能是:

 "Agents" : [
     {"name" : "Bob Barker"},
     {"name" : "Mona Mayflower"} 
 ],

然后您将访问第一个代理的名称作为

homes[0]['Agents'][0]['Name']

类似地,要从列表中获取其中一个值,您需要执行类似于以下操作的操作:

homes[0]['Listings'][0]['city']
- or -
homes[0].Listings[0].city

只要有有效标识符,就可以使用点语法,否则您需要使用数组语法。

附带说明一下,我不确定数据的结构,但您可以消除将整个结构封装在数组中的外层 []。这样您就不需要访问所有内容作为 homes[0]['Listings'] 而是简单地访问 homes['Listings']

关于javascript - 引用 JSON (Javascript) 对象的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2074908/

相关文章:

嵌套结构中的 JSON 解码

Java - 根据列将 CSV 解析为数组

objective-c - 在 Objective-C 中设置数组的内容

javascript - 无法在 MooTools 中以编程方式触发 mouseenter

javascript - Promise.all()中如何使用if表达式?

javascript - Ajax POST FormData 无法在 https(安全链接)中工作

java - Jackson ObjectMapper 使用 Json 字符串键反序列化 Map

javascript - 分配的属性显示为未定义

java - 创建对象以获取预期的 Json

arrays - 将输入字段与数组进行比较