How to get json key and value in javascript?

JavascriptJqueryJson

Javascript Problem Overview


I am returning a json as shown below

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

I am trying to get each element key and value:

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

I am getting undefined in alert. WHY? I tried data.jobtitel, i tried loop but no success..

Javascript Solutions


Solution 1 - Javascript

//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'])

Check this jsfiddle

> As of jQuery 3.0, $.parseJSON is deprecated. To parse JSON strings use > the native JSON.parse method instead. > >Source: http://api.jquery.com/jquery.parsejson/

Solution 2 - Javascript

you have parse that Json string using JSON.parse()

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

Solution 3 - Javascript

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

Solution 4 - Javascript

http://jsfiddle.net/v8aWF/

Worked out a fiddle. Do check it out

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

Solution 5 - Javascript

For getting key

var a = {"a":"1","b":"2"};
var keys = []
for(var k in a){
  keys.push(k)
}

For getting value.

var a = {"a":"1","b":"2"};
var values = []
for(var k in a){
  values.push(a[k]);
}

Solution 6 - Javascript

A simple approach instead of using JSON.parse

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

Solution 7 - Javascript

It looks like data not contains what you think it contains - check it.

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

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

Solution 8 - Javascript

You can use the following solution to get a JSON key and value in JavaScript:

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiondoniyorView Question on Stackoverflow
Solution 1 - JavascriptswanView Answer on Stackoverflow
Solution 2 - JavascriptNaYaNView Answer on Stackoverflow
Solution 3 - JavascriptonihimeView Answer on Stackoverflow
Solution 4 - Javascriptuser2672373View Answer on Stackoverflow
Solution 5 - JavascriptChandan KumarView Answer on Stackoverflow
Solution 6 - JavascriptrickyView Answer on Stackoverflow
Solution 7 - JavascriptKamil KiełczewskiView Answer on Stackoverflow
Solution 8 - JavascriptMonzurView Answer on Stackoverflow