簡體   English   中英

使用nodejs將JSON數據整理到一個較小的文件中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM