Как получить ключ и значение JSON в JavaScript?
Я возвращаю json, как показано ниже
{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}
Я пытаюсь получить каждый ключ и значение элемента:
..
}).done(function(data){
alert(data['jobtitel']);
});
Я получаю undefined
в сообщении. ЗАЧЕМ? Я пробовал data.jobtitel
, я пробовал цикл, но не добился успеха.
Ответы
Ответ 1
//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'])
Проверьте это jsfiddle
Начиная с jQuery 3.0, $.parseJSON устарел. Для анализа строк JSON используйте собственный метод JSON.parse.
Источник: http://api.jquery.com/jquery.parsejson/
Ответ 2
у вас есть синтаксический анализ строки Json
с помощью JSON.parse()
..
}).done(function(data){
obj = JSON.parse(data);
alert(obj.jobtitel);
});
Ответ 3
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);
Ответ 4
http://jsfiddle.net/v8aWF/
Разработал скрипку. Проверьте это
(function() {
var oJson = {
"name": "",
"skills": "",
"jobtitle": "Entwickler",
"res_linkedin": "GwebSearch"
}
alert(oJson.jobtitle);
})();
Ответ 5
Простой подход вместо использования JSON.parse
success: function(response){
var resdata = response;
alert(resdata['name']);
}
Ответ 6
Вы можете использовать следующее решение, чтобы получить ключ и значение JSON в JavaScript:
var dt = JSON.stringify(data).replace('[', '').replace(']', '');
if (dt) {
var result = jQuery.parseJSON(dt);
var val = result.YOUR_OBJECT_NAME;
}
Ответ 7
Для получения ключа
var a = {"a":"1","b":"2"};
var keys = []
for(var k in a){
keys.push(k)
}
Для получения значения.
var a = {"a":"1","b":"2"};
var values = []
for(var k in a){
values.push(a[k]);
}
Ответ 8
Похоже, data
не содержат того, что, как вы думаете, они содержат - проверьте это.
let data={"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"};
console.log( data["jobtitel"] );
console.log( data.jobtitel );