내 유닉스 쉘 스크립트에서 curl 명령을 실행하면 결과가 아래와 같이 표시되어 파일로 리디렉션됩니다.
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
그러나이 출력을 파일에서 아래처럼 읽을 수있는 JSON 형식으로 넣기를 원합니다.
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
이 방법으로 출력을 어떻게 형식화합니까?
답변
이것을 시도하십시오 :
curl ... | json_pp
또는 jq 아이덴티티 필터 사용 :
curl ... | jq '.'
curl ... | node <<< "var o = $(cat); console.log(JSON.stringify(o, null, 4));"
답변
JSON 출력을 미리 확인하고 싶다고 생각합니다. 파이썬을 사용하여 얻을 수 있습니다.
curl http://localhost:8880/test.json | python -mjson.tool > out.json
답변
python -m json.tool
Curl http://127.0.0.1:5000/people/api.json | python -m json.tool
도움이 될 수도 있습니다.
답변
이 노드 모듈을 사용할 수 있습니다
[sudo] npm i -g json
; // 루트 권한을 사용하여 노드 모듈을 설치하지 않는 것이 좋습니다.
그런 다음 |json
컬 후 간단히 추가하십시오 .
curl http://localhost:8880/test.json |json
답변
이것은 Gilles ‘Answer에 추가하는 것입니다. 이 작업을 수행하는 방법에는 여러 가지가 있지만 개인적으로 나는 일반적인 * nix 시스템에서 가볍고 기억하기 쉽고 보편적으로 사용할 수있는 것을 선호합니다 (예 : 선호하는 Linux 버전의 표준 LTS 설치 또는 설치가 용이함).
다음은 원하는 순서대로 옵션입니다.
파이썬 Json.tool 모듈
echo '{"foo": "lorem", "bar": "ipsum"}' | python -mjson.tool
찬성 : 거의 모든 곳에서 이용 가능; 단점 : 색상 코딩 없음
jq (일회 설치가 필요할 수 있음)
echo '{"foo": "lorem", "bar": "ipsum"}' | jq
단점 : jq를 설치해야합니다. 장점 : 컬러 코딩 및 다목적
json_pp (우분투 16.04 LTS에서 사용 가능)
echo '{"foo": "lorem", "bar": "ipsum"}' | json_pp
루비 사용자
gem install jsonpretty
echo '{"foo": "lorem", "bar": "ipsum"}' | jsonpretty
답변
json_reformat이 매우 편리하다는 것을 알았습니다. 그래서 방금 다음을 수행했습니다.
curl http://127.0.0.1:5000/people/api.json | json_reformat
그게 다야!