我想從一個 json 檔案中提取一些資料并將其插入到另一個 json 檔案中,如下所示:
{
"name": "File",
"artist": "Andrew",
"attributes":
[
{
"trait_type": "Background",
"value": "Black"
},
{
"trait_type": "Base",
"value": "White"
},
{
"trait_type": "Eye Type",
"value": "Eye"
},
{
"trait_type": "Ear Type",
"value": "Ear"
},
{
"trait_type": "Tail Type",
"value": "Tail"
},
{
"trait_type": "Headwear",
"value": "Hat"
},
{
"trait_type": "Mouth Accessories",
"value": "Cigarette"
},
{
"trait_type": "Eye Accessories",
"value": "Mask"
},
{
"trait_type": "Ear Accessories",
"value": "Headphones"
},
{
"trait_type": "Details",
"value": "Headband"
}
],
},
{
"name": "File2",
"artist": "Andrew",
"attributes":
[
{
"trait_type": "Background",
"value": "White"
},
{
"trait_type": "Base",
"value": "Black"
},
{
"trait_type": "Eye Type",
"value": "Eye"
},
{
"trait_type": "Ear Type",
"value": "Ear"
},
{
"trait_type": "Tail Type",
"value": "Tail"
},
{
"trait_type": "Headwear",
"value": "Hat"
},
{
"trait_type": "Mouth Accessories",
"value": "Cigarette"
},
{
"trait_type": "Eye Accessories",
"value": "Mask"
},
{
"trait_type": "Ear Accessories",
"value": "Headphones"
},
{
"trait_type": "Details",
"value": "Headband"
}
],
},
到
[
{
"Background": "Black",
"Base": "White",
"Eye Type": "Eye",
"Ear Type": "Ear",
"Tail Type": "Tail",
"Headwear": "Hat",
"Mouth Accessories": "Cigarette",
"Eye Accessories": "Mask",
"Ear Accessories": "Headphones",
"Details": "Headband",
"tokenId": 0
},
{
"Background": "White",
"Base": "Black",
"Eye Type": "Eye",
"Ear Type": "Ear",
"Tail Type": "Tail",
"Headwear": "Hat",
"Mouth Accessories": "Cigarette",
"Eye Accessories": "Mask",
"Ear Accessories": "Headphones",
"Details": "Headband",
"tokenId": 1
},
]
第一個json檔案資料量很大,為了不創建太長的代碼,我只放了兩個例子。在新檔案中,有常量是“Background”、“Base”……以及最后一個值是“tokenId”,它逐漸增加。
非常感謝你。
uj5u.com熱心網友回復:
const json = '[{"name":"File","artist":"Andrew","attributes":[{"trait_type":"Background","value":"Black"},{"trait_type":"Base","value":"White"},{"trait_type":"Eye Type","value":"Eye"},{"trait_type":"Ear Type","value":"Ear"},{"trait_type":"Tail Type","value":"Tail"},{"trait_type":"Headwear","value":"Hat"},{"trait_type":"Mouth Accessories","value":"Cigarette"},{"trait_type":"Eye Accessories","value":"Mask"},{"trait_type":"Ear Accessories","value":"Headphones"},{"trait_type":"Details","value":"Headband"}]},{"name":"File2","artist":"Andrew","attributes":[{"trait_type":"Background","value":"White"},{"trait_type":"Base","value":"Black"},{"trait_type":"Eye Type","value":"Eye"},{"trait_type":"Ear Type","value":"Ear"},{"trait_type":"Tail Type","value":"Tail"},{"trait_type":"Headwear","value":"Hat"},{"trait_type":"Mouth Accessories","value":"Cigarette"},{"trait_type":"Eye Accessories","value":"Mask"},{"trait_type":"Ear Accessories","value":"Headphones"},{"trait_type":"Details","value":"Headband"}]}]';
const result = JSON.parse(json).map((parent, i) => {
const val = parent.attributes.reduce((prev, curr) =>
({...prev, [curr.trait_type]: curr.value}), {});
val.tokenId = i;
return val;
})
console.log(JSON.stringify(result))
uj5u.com熱心網友回復:
使用本主題撰寫腳本是否可以僅使用 JavaScript 將資料寫入檔案? 這是一個簡單的陣列/物件迭代......
uj5u.com熱心網友回復:
const dat = [
{"name": "File", "artist": "Andrew", "attributes":
[{"trait_type": "Background", "value": "Black"}, {"trait_type": "Base", "value": "White"}, {"trait_type": "Eye Type", "value": "Eye"}, {"trait_type": "Ear Type", "value": "Ear"}, {"trait_type": "Tail Type", "value": "Tail"}, {"trait_type": "Headwear", "value": "Hat"}, {"trait_type": "Mouth Accessories", "value": "Cigarette"}, {"trait_type": "Eye Accessories", "value": "Mask"}, {"trait_type": "Ear Accessories", "value": "Headphones"}, {"trait_type": "Details", "value": "Headband"}],
},
{"name": "File2", "artist": "Andrew", "attributes":
[{"trait_type": "Background", "value": "White"}, {"trait_type": "Base", "value": "Black"}, {"trait_type": "Eye Type", "value": "Eye"}, {"trait_type": "Ear Type", "value": "Ear"}, {"trait_type": "Tail Type", "value": "Tail"}, {"trait_type": "Headwear", "value": "Hat"}, {"trait_type": "Mouth Accessories", "value": "Cigarette"}, {"trait_type": "Eye Accessories", "value": "Mask"}, {"trait_type": "Ear Accessories", "value": "Headphones"}, {"trait_type": "Details", "value": "Headband"}]
}
]
const res = []
dat.forEach(d => {
let obj = {}
d.attributes.forEach(m => {
obj[m['trait_type']] = m['value']
})
res.push(obj)
})
console.log(res)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/401234.html
標籤:javascript nft
下一篇:從客戶端訪問環境變數
