0
votes

Parse Json avec JavaScript avec une boucle

Je suis nouveau à JavaScript et je cherche à faire un pour chaque boucle de la chaîne JSON ci-dessous. J'essaie de boucler à travers chaque élément de résultat et de voir si le nom = 'Code d'erreur'. J'ai essayé de multiples variations différentes et que l'extrait ci-dessous semble être correct mais je ne peux pas l'obtenir de se présenter dans la console.

    {
  "Count": 136,
  "Message": "Results returned successfully.",
  "SearchCriteria": "VIN:xxxxxxx",
  "Results": [
    {
      "Value": "",
      "ValueId": "",
      "Variable": "Suggested VIN",
      "VariableId": 142
    },
    {
      "Value": "0",
      "ValueId": "0",
      "Variable": "Error Code",
      "VariableId": 143
    },
    {
      "Value": "",
      "ValueId": "",
      "Variable": "Possible Values",
      "VariableId": 144
    },
    {
      "Value": null,
      "ValueId": "",
      "Variable": "Additional Error Text",
      "VariableId": 156
    }
  ]
}


0 commentaires

4 Réponses :


1
votes

J'espère que cela aidera

p>

 var data = {
  "Count": 136,
  "Message": "Results returned successfully.",
  "SearchCriteria": "VIN:xxxxxxx",
  "Results": [
    {
      "Value": "",
      "ValueId": "",
      "Variable": "Suggested VIN",
      "VariableId": 142
    },
    {
      "Value": "0",
      "ValueId": "0",
      "Variable": "Error Code",
      "VariableId": 143
    },
    {
      "Value": "",
      "ValueId": "",
      "Variable": "Possible Values",
      "VariableId": 144
    },
    {
      "Value": null,
      "ValueId": "",
      "Variable": "Additional Error Text",
      "VariableId": 156
    }
  ]
}
data.Results.forEach(item => {
if(item.Variable === 'Error Code') console.log(item);
});


0 commentaires

2
votes

Vous avez des erreurs sur le code que vous avez présenté:

  1. Vos données ont résultats code>, variable code> et (code> (et d'autres propriétés également), tous avec une première lettre majuscule, et dans votre code, vous essayez d'y accéder avec des minuscules (par exemple: data.Results code>), il est donc indéfini (JavaScript est une langue sensible à la casse), il doit être data.Results code>. p> li>

  2. En outre, vous bouclez via résultats code>, pas variable code>, donc le [i] code> va après " / Code>, comme ceci: data.Results [i] .variable code> p> li> ol>

    voir ci-dessous p>

    p>

    var data = {
      "Count": 136,
      "Message": "Results returned successfully.",
      "SearchCriteria": "VIN:xxxxxxx",
      "Results": [{
          "Value": "",
          "ValueId": "",
          "Variable": "Suggested VIN",
          "VariableId": 142
        },
        {
          "Value": "0",
          "ValueId": "0",
          "Variable": "Error Code",
          "VariableId": 143
        },
        {
          "Value": "",
          "ValueId": "",
          "Variable": "Possible Values",
          "VariableId": 144
        },
        {
          "Value": null,
          "ValueId": "",
          "Variable": "Additional Error Text",
          "VariableId": 156
        }
      ]
    }
    
    
    for (let i = 0; i < data.Results.length; i++) {
      if (data.Results[i].Variable == 'Error Code') {
        console.log(data.Results[i].Value);
      }
    }


0 commentaires

0
votes

Par simple pour la boucle xxx


0 commentaires

1
votes

Premièrement, notez que JS est sensible à la casse. Cela signifie que data.results code> n'est pas le même que data.Results code> et causera des problèmes.

En ce qui concerne votre question, vous n'avez pas besoin d'une boucle explicite. ici. En supposant qu'il n'y ait qu'un seul objet contenant le code d'erreur code> code>, vous pouvez utiliser la méthode trouver () code> pour la récupérer: p> xxx pré>

p>

var errors = data.Results.filter(o => o.Variable === 'Error Code');


0 commentaires