Je dois parcourir ce JSON :

{
  "data": 321563,
  "group": [
    {
      "added": 42421,
      "normal": {
        "x": 39,
        "y": "0.1300",
        "b": "0.4326",
        "c": "0.0552",
        "f": 166833
      },
      "j": "240313",
      "b": "0.2251",
      "a": "dda",
      "b": "0.101",
      "a": 922,
      "f": {
        "c": 39,
        "d": "0.263",
        "a": "2.8955",
        "h": "0.3211",
        "d": 274
      },
      "a": false,
      "k": 5,
      "w": "0.072",
      "d": "0.045",
      "e": 3
    },

Je veux seulement que le j et le k soient stockés comme une paire clé-valeur, par ex. "j":k

Je dois tout boucler et le stocker dans un fichier.

0
Fraser 18 mars 2019 à 23:17

2 réponses

Meilleure réponse

Vous pouvez utiliser une carte pour obtenir un nouveau tableau d'éléments, cela n'affectera pas l'ancien tableau.

const data = {
  "game_count": 8750,
  "sets": [
    {
      "appid": "221540",
      "true_count": 9,
      "bgs_avg": "0.10",
      // Other data here
    },
    {
      "appid": "123456",
      "true_count": 9,
      "bgs_avg": "0.20",
      // Other data here
    }
  ]
}


// Use "data.sets = data.sets.map(...)" to replace the data
// The following will only assign to a new variable
const newArray = data.sets.map(itm => { return {appid: itm.appid, true_count: itm.true_count} })

console.log(newArray)

Nous pouvons également prendre les données et les affecter directement à l'écrasement d'origine simplement en utilisant data.sets = data.sets.map(...) comme vu ici :

const data = {
  "game_count": 8750,
  "sets": [
    {
      "appid": "221540",
      "true_count": 9,
      "bgs_avg": "0.10",
      // Other data here
    },
    {
      "appid": "123456",
      "true_count": 9,
      "bgs_avg": "0.20",
      // Other data here
    }
  ]
}

data.sets = data.sets.map(itm => { return {appid: itm.appid, true_count: itm.true_count} })

console.log(data)
0
Get Off My Lawn 18 mars 2019 à 20:29

En javascript simple, cela devrait fonctionner -

let newObj = {}
for(let i=0; i<obj.group.length; i++){
  newObj[obj.group[i].j] = obj.group[i].k 
}

Où 'obj' est votre objet

NewObj sera votre nouvel objet qui contiendra toute la paire clé-valeur

0
Spaceglider 6 mai 2019 à 18:46