[javascript] JSON 파싱 된 개체를 인쇄 하시겠습니까?
JSON을 사용하여 파싱 된 자바 스크립트 객체가 있습니다. JSON.parse
이제 객체를 인쇄하여 디버깅 할 수 있습니다 (함수가 잘못되었습니다). 내가 다음을 할 때 …
for (property in obj) {
output += property + ': ' + obj[property]+'; ';
}
console.log(output);
여러 [object Object]가 나열되어 있습니다. 내용을보기 위해 이것을 어떻게 인쇄 할까 궁금합니다.
답변
대부분의 디버거 콘솔은 객체 표시를 직접 지원합니다. 그냥 사용
console.log(obj);
디버거에 따라 콘솔의 객체가 축소 된 트리로 표시 될 가능성이 높습니다. 트리를 열고 개체를 검사 할 수 있습니다.
답변
JSON의 의미를 알고 있습니까? 자바 스크립트 객체 표기법 . 객체에 적합한 형식을 만듭니다.
JSON.stringify(obj)
객체의 문자열 표현을 다시 제공합니다.
답변
console.dir()
대신 시도하십시오console.log()
console.dir(obj);
MDN 은 다음 console.dir()
에 의해 지원 된다고 말합니다 .
- FF8 +
- IE9 +
- 오페라
- 크롬
- 원정 여행
답변
들여 쓰기가있는 예쁘고 여러 줄짜리 JSON을 원한다면 JSON.stringify
세 번째 인수와 함께 사용할 수 있습니다 .
JSON.stringify(value[, replacer[, space]])
예를 들면 다음과 같습니다.
var obj = {a:1,b:2,c:{d:3, e:4}};
JSON.stringify(obj, null, " ");
또는
JSON.stringify(obj, null, 4);
다음과 같은 결과가 나타납니다.
"{
"a": 1,
"b": 2,
"c": {
"d": 3,
"e": 4
}
}"
브라우저 console.log(obj)
에서는 더 잘 작동하지만 쉘 콘솔 (node.js)에서는 그렇지 않습니다.
답변
JSON 구문 분석 된 객체 만 인쇄
console.log( JSON.stringify(data, null, " ") );
하면 출력이 매우 명확합니다.
답변
문자열 형식을 사용하십시오.
console.log("%s %O", "My Object", obj);
Chrome에는 다음과 같은 형식 지정자가 있습니다.
%s
값을 문자열로 형식화합니다.%d
또는%i
값을 정수로 형식화합니다.%f
값을 부동 소수점 값으로 형식화합니다.%o
요소 패널에서와 같이 값을 확장 가능한 DOM 요소로 형식화합니다.%O
값을 확장 가능한 JavaScript 객체로 형식화합니다.%c
제공하는 CSS 스타일에 따라 출력 문자열을 형식화합니다.
Firefox 에는 비슷한 옵션 이있는 String Substition 도 있습니다.
%o
JavaScript 객체에 대한 하이퍼 링크를 출력합니다. 링크를 클릭하면 관리자가 열립니다.%d
또는%i
정수를 출력합니다. 포맷은 아직 지원되지 않습니다.%s
문자열을 출력합니다.%f
부동 소수점 값을 출력합니다. 포맷은 아직 지원되지 않습니다.
Safari에는 printf 스타일 포맷터가 있습니다
%d
또는%i
정수%[0.N]f
N 자릿수의 부동 소수점 값%o
목적%s
끈
답변
좋고 간단합니다 :
console.log("object: %O", obj)