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
또는 ID 필터를 사용하여 jq 와 함께 :
curl ... | jq '.'
또는 nodejs 와 bash를 사용하십시오 .
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
brew install jq
command + | jq
- (예 :
curl localhost:5000/blocks | jq .
) - 즐겨!
json_reformat이 매우 편리하다는 것을 알았습니다. 그래서 방금 다음을 수행했습니다.
curl http://127.0.0.1:5000/people/api.json | json_reformat
그게 다야!
python -m json.tool
Curl http://127.0.0.1:5000/people/api.json | python -m json.tool
도움이 될 수도 있습니다.
이것은 Gilles 'Answer에 추가하는 것입니다. 이 작업을 수행하는 방법에는 여러 가지가 있지만 개인적으로 나는 일반적인 * nix 시스템에서 가볍고 기억하기 쉽고 보편적으로 사용할 수있는 것을 선호합니다 (예 : 선호하는 Linux 버전의 표준 LTS 설치 또는 설치가 용이함).
다음은 원하는 순서대로 옵션입니다.
Python Json.tool 모듈 (예 : echo '{ "foo": "lorem", "bar": "ipsum"}'| | python -mjson.tool (프로 : 거의 모든 곳에서 사용 가능; 단점 : 색상 코딩 없음)
jq (일회 설치가 필요할 수 있음) echo '{ "foo": "lorem", "bar": "ipsum"}'| jq (단점 : jq 설치 필요; 전문가 : 색상 코딩 및 다목적)
json_pp (Ubuntu 16.04 LTS에서 사용 가능), 예 : echo '{ "foo": "lorem", "bar": "ipsum"}'| json_pp
Ruby 사용자의 경우 gem install jsonpretty echo '{ "foo": "lorem", "bar": "ipsum"}'| pretty이
curljson을 확인하십시오
$ pip install curljson
$ curljson -i <the-json-api-url>
이 노드 모듈을 사용할 수 있습니다
[sudo] npm i -g json
; // 루트 권한을 사용하여 노드 모듈을 설치하지 않는 것이 좋습니다.
그런 다음 |json
컬 후 간단히 추가하십시오 .curl http://localhost:8880/test.json |json
'development' 카테고리의 다른 글
jQuery에 Google의 CDN을 사용해야하는 이유는 무엇입니까? (0) | 2020.05.26 |
---|---|
XML 파일을 통해 TextView 굵게 표시 하시겠습니까? (0) | 2020.05.26 |
UITextField의 초기 키보드 애니메이션에서 슈퍼 느린 지연 / 지연 (0) | 2020.05.26 |
Angular.js 지시문 동적 templateURL (0) | 2020.05.26 |
LINQ를 사용하여 목록에서 중복 항목을 얻는 방법은 무엇입니까? (0) | 2020.05.26 |