如何在JavaScript中获取JSON键和值?


81

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

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

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

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

我正在undefined戒备。为什么?我尝试过data.jobtitel,我尝试循环但没有成功。


首先,您需要将json转换为数组,然后必须尝试data.jobtitel
天鹅

JSON是字符串,您想访问那里,那么您必须进行转换...
天鹅

@swan,$。parseJSON并不总是在每种浏览器中都可用。
doniyor

1
如果您添加了jQuery,那么$ .parseJSON将可以工作...否则,您必须使用纯JavaScript JSON转换器JSON.eval(jsonstring)
swan

@天鹅,完美!现在它正在工作
doniyor

Answers:


146
//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 ['KeyAsString']的能力。非常好。谢谢。
Android334 2014年

我将如何解决Entwickler的职位?是否有任何本地语言,还是我必须编写自己的代码?
dGRAMOP

22

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

..
}).done(function(data){
    obj = JSON.parse(data);
    alert(obj.jobtitel);
});

简化:JSON.parse(data).jobtitle
Jonas

11
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);

1
这是您在javascript中执行的操作。
Ishara Amarasekera

4

http://jsfiddle.net/v8aWF/

解决了一个小提琴。检查一下

(function() {
    var oJson = {
        "name": "", 
        "skills": "", 
        "jobtitle": "Entwickler", 
        "res_linkedin": "GwebSearch"
    }
    alert(oJson.jobtitle);
})();

2

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

 success: function(response){
     var resdata = response;
     alert(resdata['name']);
}

1

似乎data不包含您认为的内容-检查它。

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

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


0

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

var dt = JSON.stringify(data).replace('[', '').replace(']', '');
if (dt) {
  var result = jQuery.parseJSON(dt);
  var val = result.YOUR_OBJECT_NAME;
}

1
尽管此代码段可能是解决方案,但包括说明确实有助于提高帖子的质量。请记住,您将来会为读者回答这个问题,而这些人可能不知道您提出代码建议的原因。
Narendra Jadhav

0

获取钥匙

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]);
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.