[json] Unix 쉘 스크립트에서 읽을 수있는 JSON 형식으로 curl 출력 표시

내 유닉스 쉘 스크립트에서 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 

또는 아이덴티티 필터 사용 :

curl ... | jq '.'

여기에 이미지 설명을 입력하십시오

또는 :

curl ... | node <<< "var o = $(cat); console.log(JSON.stringify(o, null, 4));"

https://stedolan.github.io/jq/를 확인 하십시오


답변

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

그게 다야!


답변

curljson을 확인하십시오

$ pip install curljson
$ curljson -i <the-json-api-url>