繁体   English   中英

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

[英]Extracting data from json object in jQuery or JS

我想使用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 和过滤器函数,但我无法弄清楚如何仅隔离对象的“速率”部分,然后获得我想要的速率。

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

演示

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

var rates = obj[0].rates;

现在,

rates.EUR;
rates.GBP;

等等。

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

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

数据包含 FRELD6 尝试:

var reldte;
var sdata = JSON.parse(data);
 $(sdata).each(function () {
        reldte = RefineDate(this.FRELD6.toString());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM