반응형
인코딩 방식에 따라 다르긴 하지만 대체로 파일로 저장된 JSON 데이터는 개행이나 들여쓰기가 다 사라져서 눈으로 읽기 난감한 경우가 많다. 이럴 때는 어느 정도 자동으로 포매팅해서 읽는 방법을 쓸 수 있다. 이 글에서는 대충 두 가지 방법을 정리해 본다.
파이썬의 json.tool 활용
Python 2.6 이상에서 사용 가능한 방법으로 json.tool이라는 모듈을 이용하면 JSON 데이터를 재정렬해서 읽기 편하게 변경할 수 있다. 예를 들자면 아래와 같은 방식으로 쓸 수 있다.
echo '{"name": "Conrad", "age": 999}' | python -m json.tool
위 예제를 실제로 셸에서 실행시켜 보면 아래와 같이 출력된다.
$ echo '{"name": "Conrad", "age": 999}' | python -m json.tool
{
"name": "Conrad",
"age": 999
}
파이프로 수행하기 때문에 cat 등을 이용하면 특정 파일의 내용도 좀 더 읽기 편하게 볼 수 있다.
cat somefile.json | python -m json.tool
jq 활용
jq라는 CLI 유틸리티를 활용해도 역시 JSON 데이터를 좀 더 편하게 읽을 수 있다. 대충 아래와 같은 식으로 쓸 수 있다.
$ echo '{"name": "Conrad", "age": 999}' | jq .
{
"name": "Conrad",
"age": 999
}
설정에 따라 다르겠지만 개인적으로 별다른 설정을 하지 않은 상태에서 무려 컬러로 나왔다. 들여쓰기 레벨이 다르게 보이는데 역시 설정에 따라 다를 것이다.
이 유틸리티 역시 파이프를 쓸 수 있기 때문에 cat 등으로 파일의 내용도 예쁘게 볼 수 있다. 다만 파일의 내용 읽기는 jq 만으로도 가능하다.
jq . filename.json
혹시 컬러로 보고 싶다면 --color-output
옵션을 붙여주자.
jq --color-output . filename.json
더 많은 방법이 있을 수 있지만 개인적으로 자주 쓰는 두 가지 도구의 예는 이렇다.
728x90
반응형
'기술적인 이야기 > 터미널 및 셸' 카테고리의 다른 글
셸 프롬프트를 간결하게 바꿨다 (0) | 2024.02.10 |
---|---|
셸 스크립트에서 인자 입력 처리하기 (2) | 2023.12.07 |
셸에서 텍스트 치환하기 (feat. sed) (0) | 2023.12.06 |
macOS 터미널에서 QR코드 생성하기 (3) | 2023.11.11 |
중복 파일 검색기 rdfind (0) | 2023.08.24 |
댓글