从jQuery或JS中的json对象中提取数据

我想使用https://raw.github.com/currencybot/open-exchange-rates/master/latest.json提供的货币数据

作为初始测试,我已经创建了一个简化版本作为内联对象:

var obj = [ { "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/", "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/", "timestamp": 1339036116, "base": "USD", "rates": { "EUR": 0.795767, "GBP": 0.645895, "JPY": 79.324997, "USD": 1 } }]; 

我想要做的就是以某种方式查询/ grep /过滤json对象,例如“EUR”作为标准,并让它返回一个名为’rate’的变量,其值为’0.795767’。

我查看了JQuery grep和filter函数,但我无法弄清楚如何仅仅隔离对象的’rates’部分然后获得我想要的速率。

 var obj = [ { "disclaimer": "This data is collected from various providers and provided free of charge for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! More info: http://openexchangerates.org/terms/", "license": "Data collected from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Full license info: http://openexchangerates.org/license/", "timestamp": 1339036116, "base": "USD", "rates": { "EUR": 0.795767, "GBP": 0.645895, "JPY": 79.324997, "USD": 1 } }]; obj[0].rates.EUR; // output: 0.795767 

要么

 obj[0].rates['EUR']; output: //0.795767 

DEMO

如果要在另一个变量中隔离速率并使用该变量,请尝试以下操作:

 var rates = obj[0].rates; 

现在,

 rates.EUR; rates.GBP; 

等等。

您还可以使用Javascript的JSON.parse()函数将JSON String转换为Javascript JSON对象。

 var JSONObject = JSON.parse("{'value1' : 1, 'value2' : 2}"); console.log(JSONObject.value1); // Prints '1'..