programing

Node.js에 포맷된 JSON 쓰기

muds 2023. 3. 7. 22:10
반응형

Node.js에 포맷된 JSON 쓰기

Node.js를 사용하여 POST JSON을 PostBin으로 하고 있는데 데이터가 잘못 포맷되어 있습니다(여기서 보시는 것처럼 http://www.postbin.org/1cpndqw)).

이게 테스에 쓰는 코드야T:

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.stringify(object, null, 4)어디에4는 들여쓰기 단위로 사용할 공간 수입니다.를 사용할 수도 있습니다."\t"탭이 필요한 경우.이는 ECMAScript 5 사양의 일부이며 MDN에 기재되어 있습니다.

기본적으로 JSON은 포맷 방식을 신경 쓰지 않고 직접 포맷을 하지 않기 때문입니다.당신에게 필요한 것은 javascript printer입니다만, 첫 번째 질문은 "Why do you care?"입니다.

여기 Javascript Recipes의 예쁜 코드입니다.

실제로 SO에는 다양한 가 있습니다.

갱신하다

좋아, 이제 네가 원하는 대로 되고 있어. 네가 옳은 일을 하고 있는지 물어보자.여러 사람이 지적한 바와 같이 추가 줄 바꿈이나 탭, 공간을 전송할 필요가 없습니다. 효율성 비용은 약 2 ~ 5% 정도로 적지만 언제 몇 %가 필요할지 알 수 없습니다.

한편, JSON의 출력을 예쁜 인쇄 텍스트로 읽을 수 있는 것이 훨씬 편리하다는 것에 전적으로 동의합니다.하지만 다른 해결책이 있습니다.아마도 브라우저로 결과를 보고 있을 것입니다.전송용으로 예쁘게 인쇄하는 대신 클라이언트측의 예쁜 프린터를 사용해 주세요.Chrome에서는 JSONView를 사용하고 Firefox에서는 JSONView를 사용하고 있습니다.많은 디버거가 JSON 결과도 인쇄해 줍니다.

2단계 프로세스를 사용하여 작업을 수행했습니다.

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

underscore-cli는 JSON 데이터를 검사 및 처리하기 위한 명령줄 도구입니다.

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

반응형