如何遍历此JSON结构

时间:2015-04-23 22:58:09

标签: jquery json

以下内容来自Yahoo Finance API,我希望从"price": "64.730003"中提取64.730003

我正在尝试使用以下内容,但我做错了什么?我猜它与data.list.resources.resource.fields.price有关,因为我似乎永远无法弄清楚遍历JSON格式。

$.getJSON("http://finance.yahoo.com/webservice/v1/symbols/BZM15.NYM/quote?format=json")
        .done(function (data) {
        $("#result").html("$"+ data.list.resources.resource.fields.price);
  })

JSON:

{
    "list": {
        "meta": {
            "type": "resource-list",
            "start": 0,
            "count": 1
        },
        "resources": [
            {
                "resource": {
                    "classname": "Quote",
                    "fields": {
                        "name": "Brent Crude Oil Last Day Future",
                        "price": "64.730003",
                        "symbol": "BZM15.NYM",
                        "ts": "1429823631",
                        "type": "future",
                        "utctime": "2015-04-23T21:13:51+0000",
                        "volume": "1"
                    }
                }
            }
        ]
    }
}

2 个答案:

答案 0 :(得分:1)

资源是一个列表,请注意[]

data.list.resources[0].resource.fields.price

但我更习惯以字典格式遍历

data['list']['resources'][0]['resource']['fields']['price']

答案 1 :(得分:0)

使用JSON.parse(jsonString)可能更容易将其转换为对象;然后你可以使用:

$('select').on('change', function() {
    if($(this).val() == "2") {
        $('#sub_btn').removeAttr('disabled');
    } 
});

...等