6 votes

Obtenir un élément d'un tableau json javascript

J'ai une simple chaîne Json

[
   {
      "assetName":"LCT",
      "assetValue":"",
      "typeValueInput":"select",
      "valueInputSelect":null,
      "required":true,
      "valueInput":"{\"data\":[{\"name\":\"name1\",\"id\":\"12\"},{\"name\":\"name2\",\"id\":\"13\"},{\"name\":\"name3\",\"id\":\"14\"}]}"
   }
]

Je veux obtenir le nom du champ dans les données de ValueInput par Javascript.

Aidez-moi, s'il vous plaît !

0voto

brk Points 23303

Vous pouvez utiliser un array et la fonction de rappel de JSON.parse pour obtenir le nom key & val

let dt = [{
  "assetName": "LCT",
  "assetValue": "",
  "typeValueInput": "select",
  "valueInputSelect": null,
  "required": true,
  "valueInput": "{\"data\":[{\"name\":\"name1\",\"id\":\"12\"},{\"name\":\"name2\",\"id\":\"13\"},{\"name\":\"name3\",\"id\":\"14\"}]}"
}];
let nameArray = [];

let dlt = JSON.parse(dt[0].valueInput, function(key, val) {
  if (key === 'name') {
    nameArray.push(val);
  }
})

console.log(nameArray)

0voto

Kabelo Tooka Points 149

Voici un moyen de le faire.

let originalData = [
   {
      "assetName":"LCT",
      "assetValue":"",
      "typeValueInput":"select",
      "valueInputSelect":null,
      "required":true,
      "valueInput":"{\"data\":[{\"name\":\"name1\",\"id\":\"12\"},{\"name\":\"name2\",\"id\":\"13\"},{\"name\":\"name3\",\"id\":\"14\"}]}"
   }
];

let valueInput = JSON.parse(originalData[0].valueInput);

let data = valueInput.data;

console.log(data);

for (var i = 0; i < data.length; i++){
    console.log(data[i].name);
}

Voir jsfiddle https://jsfiddle.net/3s1na4eL/3/

Faites-moi savoir s'il y a des questions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X