반응형
JSON 의 모든 키와 값을 출력하는 방법
const json = { "name": "bryan", "age": 87, "city": "Suwon" };
console.log("방법 1");
for (var key in json) {
console.log(key + " : " + json[key]);
}
console.log("방법 2");
Object.entries(json).forEach(
([key, value]) => console.log(`${key} : ${value}`)
);
console.log("방법 3");
Object.keys(json).forEach(key => {
console.log(`${key} : ${json[key]}`);
});
하지만, json 안에 또다른 json objecy 가 있다면,
const json = {
"name": "bryan",
"age": 87,
"city": "Suwon",
"score": {
"Math": 95,
"Eng": 97,
"Kor": 12
}
};
위의 코드로는 아래와 같이 출력됩니다.
Recursive 하게 모두 출력한다면 아래와 같은 코드를 사용하면 됩니다.
function printJSON(json) {
for (let key in json) {
if (json.hasOwnProperty(key)) {
if (typeof json[key] === "object") {
console.log(key + ":");
printJSON(json[key]);
} else {
console.log(key + ": " + json[key]);
}
}
}
}
아래는 lodash 를 이용한 코드 입니다.
const _ = require('lodash');
const json = {
name: 'bryan',
age: 87,
city: 'Suwon',
score: {
Math: 95,
Eng: 97,
Kor: 12,
},
};
function printKeyValue(obj) {
_.forEach(obj, function(value, key) {
console.log(key + ": " + value);
if (_.isObject(value)) {
printKeyValue(value);
}
});
}
printKeyValue(json);
728x90
반응형
'React,Node,JQuery,js' 카테고리의 다른 글
[Javascript] cannot read properties of undefined (reading 'getUserMedia') 해결하기 (1) | 2023.02.24 |
---|---|
[Javascript] Json Copy. DeepCopy (2) | 2023.01.28 |
[Lottie] Javascript Animation 사용하기 : Lottie (0) | 2022.06.29 |
[Lodash] 유용한 자바스크립트 라이브러리 : Javascript Library (0) | 2022.06.27 |
virtual dom 이란? (0) | 2021.06.23 |
댓글