recherche

Maison  >  Questions et réponses  >  le corps du texte

Rejoindre la chaîne JSON

Existe-t-il une manière spéciale de concaténer chaque bloc de chaînes individuel avec | comme ceci

9000234|测试 NPC|0|0|0|0|0|0|0|0| 不包括 isEnabled. Je ne veux pas non plus que d'autres blocs fusionnent les uns avec les autres. Je ne sais pas trop quoi faire.

"100_npc": {
        "uniqueId": 9000234,
        "username": "Test NPC",
        "itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},
        "isEnabled": true
    },
    "101_npc": {
        "uniqueId": 9000251,
        "username": "Pelican",
        "itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},
        "isEnabled": true
    }
}

P粉035600555P粉035600555230 Il y a quelques jours482

répondre à tous(2)je répondrai

  • P粉194919082

    P粉1949190822024-04-02 14:15:02

    Je souhaite uniquement rechercher des noms d'attributs spécifiques, tels que "npc_100"

    const data =  {  
      "100_npc": {"uniqueId": 9000234,"username": "Test NPC","itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},"isEnabled": true},
      "101_npc": {"uniqueId": 9000251,"username": "Pelican","itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},"isEnabled": true}
    };
    
    
    const prop = "100_npc";
    
    const result = Object.entries(data[prop]).reduce((a, [k, v]) => 
      (k !== "isEnabled" && a.push(k==="itemsObj" ? Object.values(v) : v), a)
    , []).flat().join("|");
    
    console.log(result)

    Pour les fichiersSortie :

    const data =  {  
      "100_npc": {"uniqueId": 9000234,"username": "Test NPC","itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},"isEnabled": true},
      "101_npc": {"uniqueId": 9000251,"username": "Pelican","itemsObj": {"colour": 0, "head": 0, "face": 0, "body": 0, "neck": 0, "hand": 0, "feet": 0, "flag": 0, "photo": 0},"isEnabled": true}
    };
    
    const result = Object.values(data).map(entry => Object.entries(entry).reduce((a, [k, v]) => 
      (k !== "isEnabled" && a.push(k==="itemsObj" ? Object.values(v) : v), a)
    , []).flat().join("|")).join("\n");
    
    console.log(result)

    répondre
    0
  • P粉579008412

    P粉5790084122024-04-02 09:00:18

    Cela semble afficher ce que vous avez demandé : (playground)

        let data = {
          '100_npc': {
            uniqueId: 9000234,
            username: 'Test NPC',
            itemsObj: {
              colour: 0,
              head: 0,
              face: 0,
              body: 0,
              neck: 0,
              hand: 0,
              feet: 0,
              flag: 0,
              photo: 0,
            },
            isEnabled: true,
          },
          '101_npc': {
            uniqueId: 9000251,
            username: 'Pelican',
            itemsObj: {
              colour: 0,
              head: 0,
              face: 0,
              body: 0,
              neck: 0,
              hand: 0,
              feet: 0,
              flag: 0,
              photo: 0,
            },
            isEnabled: true,
          },
        };
        
        let result = [];
        
        for (let key in data) {
          if (data.hasOwnProperty(key)) {
            let item = data[key];
            let arr = [item.uniqueId, item.username];
            for (let objKey in item.itemsObj) {
              arr.push(item.itemsObj[objKey]);
            }
            result.push(arr.join('|'));
          }
        }
        
        console.log(result.join('\n'));

    répondre
    0
  • Annulerrépondre