[英]Sorting out JSON data into a smaller file using nodejs
我有一個很大的JSON文件,我正在嘗試拉出特定的鍵塊,但不確定如何執行此操作。
當前的JSON文件:
{
"blockID1": {
"name": "name here",
"locale": "en_GB"
},
"blockID2": {
"name": "name here",
"locale": "en_GB"
},
"blockID3": {
"name": "name here",
"locale": "en_GB"
},
"blockID4": {
"name": "name here",
"locale": "en_GB"
}
}
我只想檢索blockID3和blockID4,然后將其輸出到另一個json文件中。
{
"blockID3": {
"name": "name here",
"locale": "en_GB"
},
"blockID4": {
"name": "name here",
"locale": "en_GB"
}
}
有人有例子嗎?
使用數組作為查找,然后在對象上循環,如果找到鍵,則將值復制到輸出對象。
var obj = {"blockID1":{"name":"name here","locale":"en_GB"},"blockID2":{"name":"name here","locale":"en_GB"},"blockID3":{"name":"name here","locale":"en_GB"},"blockID4":{"name":"name here","locale":"en_GB"}}; var find = ['blockID3', 'blockID4']; var out = {}; for (var p in obj) { if (find.indexOf(p) > -1) { out[p] = obj[p]; } } console.log(out);
不知道我是否理解您的問題,但是如果您想輸出類似的內容,並且您想要獲取json文件的ID,則可以簡單地執行以下操作
const props = ['blockID3', 'blockID4'],
json = {"blockID1":{"name":"name here","locale":"en_GB"},"blockID2":{"name":"name here","locale":"en_GB"},"blockID3":{"name":"name here","locale":"en_GB"},"blockID4":{"name":"name here","locale":"en_GB"}},
res = {};
for(const prop of props) {
if(json[prop]) {
res[prop] = prop;
}
});
最后,res將具有您想要的對象,希望這會有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.