Question

Je suis en train de récupérer JSON en utilisant l'appel getJSON jQuery.

Mon problème est que certains des champs dans le JSON retour ont des espaces en eux.

Comment puis-je récupérer ces valeurs de la JSON sans changer les données source? Voir ligne marquée « erreur » ci-dessous:

$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item.First Name; //ERROR
  });
});

Exemple JSON:

jsonp123456789({"data":[{"Zip":"12345","First Name":"Bob"},{"Zip":"23456","First Name":"Joe"},{"Zip":"34567","First Name":"Bill"}]})

Merci

Était-ce utile?

La solution

notation d'accès membre Array travaille sur des objets aussi bien.

$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item['First Name'];
  });
});

Vous pouvez l'utiliser pour des chaînes arbitraires (ceux qui ne sont pas des identificateurs juridiques), ainsi que les variables.

var fieldName = "First Name";
var fname = item[fieldName];

Autres conseils

$.getJSON(url, null, function(objData) {
  $.each(objData.data, function(i, item) {
    var zip = item.Zip;
    var fname = item["First Name"]; //Changed this
  });
});

référencer l'élément en utilisant comme clé à la place de la notation dot

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top