Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换JSON对象_Javascript - Fatal编程技术网

Javascript 转换JSON对象

Javascript 转换JSON对象,javascript,Javascript,我通过rest api获得了这样一个对象,我想将其转换为如下内容: 获取对象: { "base":"PLN", "rates":{ "USD":0.2645340686, "EUR":0.2336666978 }, "date":"2019-04-12" } 我需要转换为: [ { "currency": "USD", "currency_exchange_rate": 0.264534068,

我通过rest api获得了这样一个对象,我想将其转换为如下内容:

获取对象:

{  
   "base":"PLN",
   "rates":{  
      "USD":0.2645340686,
      "EUR":0.2336666978
   },
   "date":"2019-04-12"
}
我需要转换为:

[
    {
        "currency": "USD",
        "currency_exchange_rate": 0.264534068,
        "date_currency_exchange_rate_sync": "2019-04-12"
    },
    {
        "currency": "EUR",
        "currency_exchange_rate": 0.2336666978,
        "date_currency_exchange_rate_sync": "2019-04-12"
    }
]

这很简单。您可以使用
Object.keys
map
创建此转换

Object.keys(obj.rates).map(rate => {
    return {
        "currency":rate,
        "currency_exchange_rate":obj.rates[rate],
        "date_currency_exchange_rate_sync":obj.date
    }
})

您可以映射
rate
的条目,并记录日期

var object={base:“PLN”,费率:{USD:0.2645340686,EUR:0.2336666978},日期:“2019-04-12”},
数组=对象
.条目(对象.费率)
.map([货币、货币汇率])=>({
通货
货币汇率,
日期\货币\汇率\同步:object.date
}));

console.log(数组)您可以使用object.entires来获取键/值对,而不是映射

让obj={
“基地”:“PLN”,
“费率”:
“美元”:0.2645340686,
“欧元”:0.2336666978
},
“日期”:“2019-04-12”
}
让op=Object.entries(Object.rates).map([currency,rate])=>({
通货
“货币汇率”:汇率,
“日期、货币、汇率、同步”:对象日期
}))

console.log(op)
使用JSONata表达式的又一个答案:

$each($.rates, function($v, $k){
    {
        "currency": $k,
        "currency_exchange_rate": $v,
        "date_currency_exchange_rate_sync": $.date
    }
})