我正在从json文件获取数据,并希望将数据推送到数组。我的目的是在之后将数据保存到数据库中。
但是,在处理JSON时我才会回来:
admin:~/workspace/src (master) $ node exampleJSON.js
[]
在下面找到我最不可行的例子:
const data = {
currency: [{},
{
Name: 'Euro',
Url: '/currencies/Euro/',
Symbol: 'EUR',
Price: '$76.3'
},
{
Name: 'Dollar',
Url: '/currencies/dollar/',
Symbol: 'DOL',
Price: '$27.61'
},
{
Name: 'Yen',
Url: '/currencies/yen/',
Symbol: 'Yen',
Price: '$638234.60'
}
]
}
const coins = []
data.currency.forEach((cur) => {
if (cur.CoinName) {
coins.push({
coinname: cur.Name,
symbol: cur.Symbol,
price: cur.Price,
createdAt: new Date(),
updatedAt: new Date(),
})
}
})
console.log(coins)
为什么coins
数组中没有数据的任何建议?
感谢您的回复!
答案 0 :(得分:2)
我看到你使用了cur.CoinName来获取值。在JSON文件中的任何地方都没有使用CoinName。相反,您可以像下面的代码一样使用'cur'。
const coins = []
data.currency.forEach((cur) => {
if (cur.Name) {
coins.push({
coinname: cur.Name,
symbol: cur.Symbol,
price: cur.Price,
createdAt: new Date(),
updatedAt: new Date(),
})
} })
答案 1 :(得分:1)
const data = {
currency: [{}, {
Name: 'Euro',
Url: '/currencies/Euro/',
Symbol: 'EUR',
Price: '$76.3'
}, {
Name: 'Dollar',
Url: '/currencies/dollar/',
Symbol: 'DOL',
Price: '$27.61'
}, {
Name: 'Yen',
Url: '/currencies/yen/',
Symbol: 'Yen',
Price: '$638234.60'
}]
}
const coins = []
data.currency.forEach((cur) => {
if (cur.Name) {
coins.push({
coinname: cur.Name,
symbol: cur.Symbol,
price: cur.Price,
createdAt: new Date(),
updatedAt: new Date(),
})
}
})
console.log(coins)
用cur.Name替换if条件中的cur.CoinName,如cur.CoinName所示 没有任何关键。
答案 2 :(得分:1)
在if条件D obj;
B *pb = &obj; // points at subobject
assert(&obj == dynamic_cast<D*>(pb));
中,您错过了属性名称if (cur.CoinName)
,它应该是cur.CoinName