자바 스크립트에서 JSON 키와 값을 얻는 방법은 무엇입니까?


83

아래와 같이 json을 반환합니다.

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

각 요소 키와 값을 얻으려고합니다.

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

나는 undefined경계하고있다. 왜? 시도 data.jobtitel했지만 루프를 시도했지만 성공하지 못했습니다 ..


먼저 그 json을 배열로 변환해야하고 data.jobtitel을 시도해야합니다
swan

... JSON 문자열이며, u는 다음 U 변환이 있어야이 액세스하려는
백조

@swan, $ .parseJSON은 모든 브라우저에서 항상 사용할 수있는 것은 아닙니다. 어떻게해야합니까?
doniyor

1
jquery를 추가하면 $ .parseJSON이 작동합니다 ... 그렇지 않으면 순수한 자바 스크립트 JSON 변환기 JSON.eval (jsonstring)을 사용해야합니다.
swan

@swan, 완벽 해! 지금은 노력하고 있습니다
doniyor

답변:


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를 jobtitel로 해결하려면 어떻게해야합니까? 네이티브가 있습니까 아니면 직접 코드를 작성해야합니까?
dGRAMOP

22

다음을 Json사용하여 해당 문자열을 구문 분석했습니다.JSON.parse()

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

간체 : JSON.parse (데이터) .jobtitle
조나스

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
이것이 자바 스크립트에서하는 방법입니다.
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]);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.