Devlog/2025-11-05/1 phút
v1

Format json trên console.

Có khá nhiều tình huống mình cần format json trên console cho dễ đọc, chẳng hạn muốn xem api response được trả ra bởi curl

#console#json#pretty json
fig.01 — pretty.svg{"id":42,"tags":["proxy"]}| jsp{ "id": 42, "tags": [ "proxy" ]}

§1Bối cảnh

Có khá nhiều tình huống mình cần format json trên console cho dễ đọc. Một trong những ví dụ cụ thể là muốn xem api response được trả ra bởi curl.

§2Phương án

Nếu đã có nodejs, có thể sử dụng một dòng này:

bash
alias jsp="node -e 'let s=\"\"; process.stdin.on(\"data\", (c) => s += c).on(\"end\", () => console.log(JSON.stringify(JSON.parse(s), null, 2)));'"

Alias gom hết input rồi mới parse. Với response lớn, stdin đến thành nhiều khúc, nếu parse ngay từng khúc thì sẽ gặp lỗi SyntaxError. Sau đó chúng ta có thể gọi

bash
echo '{"a": 1}' | jsp

curl -s http://localhost:3000/api/v1/projects | jsp

Nếu không có nodejs thì macOS có sẵn python:

bash
curl -s http://localhost:3000/api/v1/projects | python3 -m json.tool

Ngoài ra mình cũng dùng fx, một công cụ chuyên cho việc này của tác giả Anton Medvedev https://fx.wtf/. Có điều fx không cho copy json content, nên mình gặp vướng khi dùng nó.

Trạm Dev · 2025-11-05 · v1 · EOF
#console#json#pretty json
$ ls ./devlog5 / 7