Programing

JavaScript에서 json-object의 키 가져 오기

crosscheck 2020. 9. 23. 07:15
반응형

JavaScript에서 json-object의 키 가져 오기 [중복]


이 질문에 이미 답변이 있습니다.

JavaScript에 json-object가 있고 그 안에 사용 된 키를 얻고 싶습니다. 내 JavaScript 코드는 다음과 같습니다.

var jsonData = [{"person":"me","age":"30"},{"person":"you","age":"25"}];

그리고 json-Array의 첫 번째 개체의 키인 '사람'과 '나이'를 알려주는 루프를 원합니다.


[당신이 가진 것은 "json-object"가 아니라 객체 일뿐입니다. JSON 은 텍스트 표기법입니다. 인용 한 것은 배열 이니셜 라이저객체 이니셜 라이저 (일명 "객체 리터럴 구문")를 사용하는 JavaScript 코드 입니다.]

사용 가능한 ECMAScript5 기능을 사용할 수 있다면이 Object.keys함수를 사용하여 객체의 키 배열 (속성 이름)을 가져올 수 있습니다 . 이전 브라우저에는이 기능이 없습니다. 그렇지 않은 경우 직접 제공 할 수있는 항목 중 하나입니다.

if (typeof Object.keys !== "function") {
    (function() {
        var hasOwn = Object.prototype.hasOwnProperty;
        Object.keys = Object_keys;
        function Object_keys(obj) {
            var keys = [], name;
            for (name in obj) {
                if (hasOwn.call(obj, name)) {
                    keys.push(name);
                }
            }
            return keys;
        }
    })();
}

이는 for..in루프 ( 자세한 내용은 여기 )를 사용하여 객체가 가진 모든 속성 이름을 반복 Object.prototype.hasOwnProperty하고 속성이 상속되지 않고 객체가 직접 소유하는지 확인하는 데 사용 합니다.

(자체 실행 기능 없이도 할 수 있었지만, 내 기능 은 이름있는 것을 선호하고 , IE와 호환되기 위해서는 명명 된 함수 표현식을 사용할 수 없습니다 . 함수 선언이 전역 심볼을 생성하지 않도록하기위한 것입니다.)


var jsonData = [{"person":"me","age":"30"},{"person":"you","age":"25"}];

for(var i in jsonData){
    var key = i;
    var val = jsonData[i];
    for(var j in val){
        var sub_key = j;
        var sub_val = val[j];
        console.log(sub_key);
    }
}

편집하다

var jsonObj = {"person":"me","age":"30"};
Object.keys(jsonObj);  // returns ["person", "age"]

Object가 있고 property keys, Array그로부터 키를 반환 합니다.Object

Chrome, FF 및 Safari 지원 Object.keys


작업 코드

var jsonData = [{person:"me", age :"30"},{person:"you",age:"25"}];

for(var obj in jsonData){
    if(jsonData.hasOwnProperty(obj)){
    for(var prop in jsonData[obj]){
        if(jsonData[obj].hasOwnProperty(prop)){
           alert(prop + ':' + jsonData[obj][prop]);
        }
    }
}
}

참고 URL : https://stackoverflow.com/questions/8430336/get-keys-of-json-object-in-javascript

반응형