Je retourne un JSON comme indiqué ci-dessous
{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}
J'essaie d'obtenir chaque élément clé et valeur:
..
}).done(function(data){
alert(data['jobtitel']);
});
Je reçois undefined
en alerte. POURQUOI? J'ai essayé data.jobtitel
, j'ai essayé la boucle mais sans succès ..
//By using jquery json parser
var obj = $.parseJSON('{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}');
alert(obj['jobtitel']);
//By using javasript json parser
var t = JSON.parse('{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}');
alert(t['jobtitel'])
A partir de jQuery 3.0, $ .parseJSON est obsolète. Pour analyser les chaînes JSON, utilisez la méthode JSON.parse native à la place.
vous avez analysé cette chaîne Json
à l'aide de JSON.parse()
..
}).done(function(data){
obj = JSON.parse(data);
alert(obj.jobtitel);
});
var data = {"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}
var parsedData = JSON.parse(data);
alert(parsedData.name);
alert(parsedData.skills);
alert(parsedData.jobtitel);
alert(parsedData.res_linkedin);
A travaillé un violon. Faites le vérifier
(function() {
var oJson = {
"name": "",
"skills": "",
"jobtitle": "Entwickler",
"res_linkedin": "GwebSearch"
}
alert(oJson.jobtitle);
})();
Une approche simple au lieu d'utiliser JSON.parse
success: function(response){
var resdata = response;
alert(resdata['name']);
}
Il semble que data
ne contient pas ce que vous pensez qu'il contient - vérifiez-le.
let data={"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"};
console.log( data["jobtitel"] );
console.log( data.jobtitel );
Vous pouvez utiliser la solution suivante pour obtenir une clé JSON et une valeur en JavaScript:
var dt = JSON.stringify(data).replace('[', '').replace(']', '');
if (dt) {
var result = jQuery.parseJSON(dt);
var val = result.YOUR_OBJECT_NAME;
}
Pour avoir la clé
var a = {"a":"1","b":"2"};
var keys = []
for(var k in a){
keys.Push(k)
}
Pour obtenir de la valeur.
var a = {"a":"1","b":"2"};
var values = []
for(var k in a){
values.Push(a[k]);
}