我有一个类似
的数组{
"Count": 3,
"Items": [
{
"prod_price": {
"N": "100"
},
"prod_name": {
"S": "Laptop"
},
"prod_Id": {
"N": "3"
}
},
{
"prod_price": {
"N": "1000"
},
"prod_name": {
"S": "Mouse"
},
"prod_Id": {
"N": "2"
}
},
{
"prod_price": {
"N": "2000"
},
"prod_name": {
"S": "Keyboard"
},
"prod_Id": {
"N": "1"
}
}
],
"ScannedCount": 3
}
我需要像
这样的输出{
"Count": 3,
"Items": [
{
"prod_price" : "100",
"prod_name": "Laptop",
"prod_Id": "3"
},
{
"prod_price" : "1000",
"prod_name": "mouse",
"prod_Id": "2"
},
{
"prod_price" : "2000",
"prod_name": "keyboard",
"prod_Id": "1"
},
],
"ScannedCount": 3
}
我正在尝试获得此输出但是没有能够得到这个可以帮助我。
var items=data['Items'];
var itemresult={};
itemvalues={};
for(var attributename in items){
for(var itemattribute in items[attributename]){
for(var key in items[attributename][itemattribute]){
console.log(itemvalues);
itemresult.attributename.itemattribute=items[attributename][itemattribute][key];
}
}
我是 node.js 的新手,并且没有完全使用 for loops 的方法。 我已经尽了最大努力,好像在 php 中我们有 for-each 循环,所以我们可以跳过索引值。
如果我能做到这一点,那么这个转换将会完成。我不知道该怎么做,你能帮我找到解决方案吗?
我知道可能存在一些问题,因为我不知道确切的语法,所以任何帮助都会受到赞赏。谢谢
答案 0 :(得分:2)
var items = data['Items'];
var result = [];
items.forEach(function(item) {
result.push({
prod_price: item.prod_price.N,
prod_name: item.prod_name.S,
prod_Id: item.prod_Id.N
});
});
您可以选择使用.map
:
var result = items.map(function(item) {
return {
prod_price: item.prod_price.N,
prod_name: item.prod_name.S,
prod_Id: item.prod_Id.N
};
});