Javascript 转换JSON对象
我通过rest api获得了这样一个对象,我想将其转换为如下内容: 获取对象: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,
{
"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
}
})