J'ai transmis du code JSON à ma page via un service Web. J'ai utilisé JSON.NET pour convertir XML en JSON. La sortie JSON me semble correcte, mais je suis incapable d'accéder à certains éléments de la réponse. Je ne sais pas pourquoi cela ne fonctionne pas. J'utilise jQuery pour lire la réponse et faire l'appel webservice. Même lorsque je tente de lire la longueur du tableau, il dit « non défini »impossible d'obtenir des valeurs de JSON converties à partir de XML
function GetFeed(){
document.getElementById("marq").innerHTML = '';
$.ajax({
type: "POST",
url: "ticker.asmx/GetStockTicker",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
var obj = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
for (var i = 0; i < obj.length; i++) {
$('#marq').html(obj[i].person);
}
}
});
}
Ceci est un copier-coller de ma réponse car il est apparu dans Firebug:
{"d":"{\"?xml\":{\"@version\":\"1.0\",\"@standalone\":\"no\"},\"root\":{\"person\":[{\"@id\":\"1\",\"name\":\"Alan\",\"url\":\"http://www.google.com\"},{\"@id\":\"2\",\"name\":\"Louis\",\"url\":\"http://www.yahoo.com\"}]}}"}
Avez-vous essayé de faire un JSON.Parse pour obtenir un objet Javascript? L'analyseur JSON Douglas Crockfords (json.org/json2.js) a bien fonctionné pour moi. –