728x90
반응형
질문 : 쉘 스크립트에서 JSON을 어떻게 예쁘게 인쇄 할 수 있습니까?
사람이 읽을 수있는 형식으로 JSON 형식을 지정하는 (Unix) 셸 스크립트가 있습니까?
기본적으로 다음을 변환하고 싶습니다.
{ "foo": "lorem", "bar": "ipsum" }
... 다음과 같이 :
{ "foo": "lorem", "bar": "ipsum" }
답변
Python 2.6 이상으로 다음을 수행 할 수 있습니다.
echo '{"foo": "lorem", "bar": "ipsum"}' | python -m json.tool
또는 JSON이 파일에있는 경우 다음을 수행 할 수 있습니다.
python -m json.tool my_json.json
JSON이 API와 같은 인터넷 소스에서 가져온 경우 다음을 사용할 수 있습니다.
curl http://my_url/ | python -m json.tool
이 모든 경우의 편의를 위해 별칭을 만들 수 있습니다.
alias prettyjson='python -m json.tool'
좀 더 타이핑하여 더 편리하게 준비하려면 :
prettyjson_s() { echo "$1" | python -m json.tool } prettyjson_f() { python -m json.tool "$1" } prettyjson_w() { curl "$1" | python -m json.tool }
위의 모든 경우에 대해. .bashrc
넣을 수 있으며 쉘에서 매번 사용할 수 있습니다. prettyjson_s '{"foo": "lorem", "bar": "ipsum"}'
과 같이 호출합니다.
@pnd가 아래 주석에서 지적했듯이 Python 3.5 이상에서는 JSON 개체가 더 이상 기본적으로 정렬되지 않습니다. 정렬하려면 --sort-keys
플래그를 추가합니다. 즉 ... | python -m json.tool --sort-keys
.
출처 : https://stackoverflow.com/questions/352098/how-can-i-pretty-print-json-in-a-shell-script
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
HTML로 표시하기 위해 위쪽 / 아래쪽 삼각형 (줄기없는 화살표)에 사용할 수있는 문자 (0) | 2021.06.02 |
---|---|
HTML5 localStorage에 객체 저장 (0) | 2021.06.02 |
package.json에서 물결표 (~)와 캐럿 (^)의 차이점 (0) | 2021.06.02 |
HTML 5 : <br> ,<br/> , <br /> 올바른 방법 (0) | 2021.06.02 |
CSS 부모를 선택하는 방법이 있을까? (0) | 2021.06.02 |