JavaScript에서 json-object의 키 가져 오기 [중복]
이 질문에 이미 답변이 있습니다.
- JavaScript 개체 키 목록 가져 오기 16 답변
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
'Programing' 카테고리의 다른 글
CodeIgniter (PHP)에서 오류 로깅을 수행하는 방법 (0) | 2020.09.24 |
---|---|
SQL Server : CLR이 활성화되었는지 확인하는 방법은 무엇입니까? (0) | 2020.09.24 |
목록에서 이상 값을 거부하는 numpy 내장 기능이 있습니까? (0) | 2020.09.23 |
이 ssh 터널을 닫는 방법은 무엇입니까? (0) | 2020.09.23 |
입력 유형 날짜에 날짜 설정 (0) | 2020.09.23 |