[英]change JSON in 2D format react native
我有 JSON 作為來自 API 的響應,如下所示:-
JSON=[
{
product:{"final_price": 500,"customers_basket_quantity": 3,"products_id": 123, "products_name": 'cotton'},
attribute:{
Color:{color:'red',123,color_id:123},
Size:{ size:'XL',size_id:234}
}
},
{
product:{"final_price": 100,"customers_basket_quantity": 5,"products_id": 124, "products_name": 'silk'},
attribute:{
Color:{color:'blue',123,color_id:124}
}
},
]
我想像下面顯示的格式一樣更改它。 所以我可以附加在 API 的表單數據中:-
product :[
{
"final_price": 500,
"customers_basket_quantity": 3,
"products_id": 123,
"products_name": 'cotton',
'attribute':[
{
'color':'red',
'color_id':123,
},
{
'size':'XL',
'size_id':234,
}
]
},
{
"final_price": 100,
"customers_basket_quantity": 5,
"products_id": 124,
"products_name": 'silk',
'attribute':[
{
'color':'blue',
'color_id':124,
}
]
}
]
我怎樣才能做到這一點?
我嘗試了各種方法,但對我不起作用!!!
謝謝!!!
使用Object.values獲取對象值的數組,並使用map迭代並使用它創建一個新數組。
Object.values(JSON).map(data => ({
...data.product,
attribute: Object.values(data.attribute)
}));
您可以使用array.map進行一些破壞, 將每個對象傳播到一個新對象中。
const data=[{product:{final_price:500,customers_basket_quantity:3,products_id:123,products_name:"cotton"},attribute:{Color:{color:"red",color_id:123},Size:{size:"XL",size_id:234}}},{product:{final_price:100,customers_basket_quantity:5,products_id:124,products_name:"silk"},attribute:{Color:{color:"blue",color_id:124},Size:{size:"XL",size_id:234}}}]; const result = data.map(({product, attribute, ...rest}) => { return { ...product, attribute: Object.values(attribute), ...rest }; }); console.log(result);
.as-console-wrapper { max-height: 100% !important; };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.