2015-04-23 154 views
0

以下是雅虎财经API,我期待提取64.730003从"price": "64.730003"如何遍历这个JSON结构

我通过使用下面的尝试这一点,但我究竟做错了什么?我猜测它与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" 
        } 
       } 
      } 
     ] 
    } 
} 

回答

1

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

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

但我比较习惯在遍历字典格式

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

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

obj.list.meta.... 

...等