90

我正在返回一个 json,如下所示

{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}

我正在尝试获取每个元素的键和值:

..
}).done(function(data){
    alert(data['jobtitel']);
});

我开始undefined警觉了。为什么?我试过了data.jobtitel,我试过循环但没有成功..

4

8 回答 8

160
//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/

于 2013-09-20T07:16:36.097 回答
22

您已经使用解析该Json字符串JSON.parse()

..
}).done(function(data){
    obj = JSON.parse(data);
    alert(obj.jobtitel);
});
于 2013-09-20T07:19:41.820 回答
13
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);
于 2013-09-20T07:26:59.880 回答
4

http://jsfiddle.net/v8aWF/

做了一把小提琴。请检查一下

(function() {
    var oJson = {
        "name": "", 
        "skills": "", 
        "jobtitle": "Entwickler", 
        "res_linkedin": "GwebSearch"
    }
    alert(oJson.jobtitle);
})();
于 2013-09-20T07:21:10.927 回答
4

获取密钥

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]);
}
于 2019-03-17T18:39:44.960 回答
3

一种简单的方法,而不是使用 JSON.parse

 success: function(response){
     var resdata = response;
     alert(resdata['name']);
}
于 2016-12-30T04:58:05.413 回答
2

它看起来data不包含您认为它包含的内容 - 检查它。

let data={"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"};

console.log( data["jobtitel"] );
console.log( data.jobtitel );

于 2019-04-25T10:41:32.323 回答
0

您可以使用以下解决方案在 JavaScript 中获取 JSON 键和值:

var dt = JSON.stringify(data).replace('[', '').replace(']', '');
if (dt) {
  var result = jQuery.parseJSON(dt);
  var val = result.YOUR_OBJECT_NAME;
}
于 2018-08-27T12:44:57.907 回答