Rejoindre la chaîne JSON
P粉035600555
P粉035600555 2024-04-01 14:36:21
0
2
453

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粉035600555
P粉035600555

répondre à tous(2)
P粉194919082

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)
P粉579008412

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'));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!