簡體   English   中英

Json/Nodejs:如何從 JSON 文件中獲取特定數據

[英]Json/Nodejs: How do I get specific data from a JSON file

我正在嘗試使用 nodejs 開發一個不和諧的機器人。 我的問題是如何從 JSON 文件中獲取特定數據(例如,從這個 json 。我只想指定一個像“59d4c622c7cc459a98c2e947054e2b11”這樣的 uuid 並獲取數據。

假設您已經將 JSON 解析為一個名為data的實際 Javascript 對象,並根據當前數據的組織方式,您必須搜索data.guild.members數組以找到具有所需uuid屬性值的對象。

function findDataForUuid(uuid) {
     for (let obj of data.guild.members) {
        if (obj.uuid === uuid) {
            return obj;
        }
     }
     // no match found
     return null;
}


let item = findDataForUuid("59d4c622c7cc459a98c2e947054e2b11");
if (item) {
    console.log(item);    // will show all the properties of the member object
}

或者,在數組上使用.find()

function findDataForUuid(uuid) {
     return data.guild.members.find(item => {
         return item.uuid === uuid;
     });
}

您可以使用過濾器的簡單解決方案。 最好是使用reduce。

 const data = { guild: { _id: "5b2906070cf29ddccd0f203c", name: "Dulcet", coins: 122010, coinsEver: 232010, created: 1529415175560, members: [ { uuid: "59d4c622c7cc459a98c2e947054e2b11", rank: "MEMBER", joined: 1529683128302, questParticipation: 39, expHistory: { "2020-02-16": 0, "2020-02-15": 0, "2020-02-14": 0, "2020-02-13": 0, "2020-02-12": 0, "2020-02-11": 0, "2020-02-10": 0 } } ] } }; const members = data.guild.members.filter( member => member.uuid == "59d4c622c7cc459a98c2e947054e2b11" ); const firstMember = members[0] console.log(firstMember)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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