javascriptでjsonキーと値を取得する方法は?


83

以下に示すようにjsonを返します

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

各要素のキーと値を取得しようとしています。

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

私はundefined警戒している。どうして?試しましたがdata.jobtitel、ループを試しましたが成功しませんでした。


最初にそのjsonを配列に変換する必要があり、次にdata.jobtitelを試す必要があります
白鳥

JSONは文字列であり、そこにアクセスしたいので、変換する必要があります...
白鳥

@ swan、$。parseJSONは、すべてのブラウザで常に使用できるとは限りません。
doniyor 2013

1
jqueryを追加すると、$。parseJSONが機能します...それ以外の場合は、純粋なjavascript JSONコンバーターJSON.eval(jsonstring)を使用する必要があります
白鳥

@白鳥、完璧!現在は機能しています
doniyor 2013

回答:


149
//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をj​​obtitelに解決するにはどうすればよいですか?ネイティブはありますか、それとも独自のコードを作成する必要がありますか?
dGRAMOP 2017年

22

Json使用してその文字列を解析しましたJSON.parse()

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

簡略化:JSON.parse(data).jobtitle
Jonas

12
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でそれを行う方法です。
IsharaAmarasekera19年

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
このコードスニペットが解決策になる可能性がありますが、説明を含めると、投稿の品質を向上させるのに役立ちます。あなたは将来読者のために質問に答えていることを忘れないでください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。
ナレンドラジャドハブ2018

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]);
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.