your programing

Node.js에 형식화 된 JSON 쓰기

lovepro 2020. 10. 8. 08:26
반응형

Node.js에 형식화 된 JSON 쓰기


Node.js를 사용하여 JSON을 PostBin에 POST하지만 데이터 형식이 잘못되었습니다 (여기에서 볼 수 있듯이 http://www.postbin.org/1cpndqw ).

이것은 tesT에 사용하는 코드입니다.

var http = require('http');

var options = {
  host: 'www.postbin.org',
  port: 80,
  path: '/1cpndqw',
  method: 'POST'
};

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
  });
});

req.write(JSON.stringify({ a:1, b:2, c:3 }, null, 4));
req.end();

글쎄요, 주로 JSON은 형식화 방식에 신경 쓰지 않고 직접 형식화하지 않기 때문입니다. 당신이 필요로하는 것은 자바 스크립트 프리티 프린터인데, 첫 번째 질문은 "당신은 왜 관심이 있습니까?"입니다.

다음 은 Javascript Recipes 예쁜 인쇄 코드입니다.

실제로 여기 에는 여러 가지 예가 있습니다 .

최신 정보

좋아, 이제 당신이 원하는 것을하고있다. 당신이 옳은 일을하고 있는지 물어 보자. 여러 사람이 지적했듯이 추가 줄 바꿈과 탭 또는 공백을 전송할 필요가 없습니다. 효율성 비용은 2 ~ 5 % 정도로 적지 만 언제 몇 %가 필요할지 알 수 없습니다.

반면에, JSON 출력을 예쁘게 인쇄 된 텍스트로 읽을 수있는 것이 훨씬 더 편리하다는 데 완전히 동의합니다. 그러나 또 다른 해결책이 있습니다. 아마도 이러한 결과를보기 위해 여전히 브라우저를 사용하고있을 것이므로 전송을 위해 예쁘게 인쇄하는 대신 클라이언트 측 prettyprinter를 사용하십시오. Chrome 에는 JSONView를 사용 하고 Firefox 에서는 JSONView를 사용 합니다. 많은 디버거는 또한 JSON 결과를 예쁘게 인쇄합니다.


사용 공간의 수는 들여 쓰기의 단위로 사용합니다. 탭을 원하는 경우 에도 사용할 수 있습니다 . 이것은 실제로 ECMA 스크립트 5 스펙의 일부 , 및 MDN 문서화 .JSON.stringify(object, null, 4)4"\t"


2 단계 프로세스를 사용하여 작동했습니다.

var output = JSON.parse(insert_json_here);
var print_to_file = JSON.stringify(output, null, "\t")

당신은 체크 아웃해야합니다 강조-CLI - 그것은 JSON 데이터를 검사하고 처리하기위한 명령 줄 도구입니다.

참고 URL : https://stackoverflow.com/questions/5693999/write-formatted-json-in-node-js

반응형