W moim skrypcie powłoki Uniksa, kiedy wykonuję polecenie curl, wynik zostanie wyświetlony jak poniżej, do którego przekierowuję do pliku:
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
Ale chcę, aby to wyjście zapisało w czytelnym formacie JSON, jak poniżej w pliku:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
Jak sformatować dane wyjściowe w ten sposób?
json_pp
wydaje się formatować dane w odwrotnej kolejności niż się spodziewano. Czy istnieje sposób na cofnięcie cofnięcia danych?Zgaduję, że chcesz upiększać wyjście JSON. Można to osiągnąć za pomocą Pythona:
curl http://localhost:8880/test.json | python -mjson.tool > out.json
źródło
head
polecenia odcięcia wyjścia przesyłanego do niego przed osiągnięciem końca, a tym samym „zerwania” potoku. Jeśli zezwoliszhead
na wykorzystanie całego strumienia danych z potoku, spodziewam się, że błąd się nie pojawi.może również pomóc.
źródło
Możesz użyć tego modułu węzła
[sudo] npm i -g json
; // sugeruj, aby nie używać uprawnień administratora do instalowania modułu węzłanastępnie po prostu zwiń
|json
po zawinięciu.curl http://localhost:8880/test.json |json
źródło
To jest dodatek do odpowiedzi Gillesa. Można to zrobić na wiele sposobów, ale osobiście wolę coś lekkiego, łatwego do zapamiętania i powszechnie dostępnego (np. Dostarczanego ze standardowymi instalacjami LTS o preferowanym smaku Linuksa lub łatwym do zainstalowania) na popularnych systemach * nix.
Oto opcje w preferowanej kolejności:
Moduł Python Json.tool
jq (może wymagać jednorazowej instalacji)
json_pp (dostępny w Ubuntu 16.04 LTS)
Dla użytkowników Ruby
źródło
cat myFile.json | python -mjson.tool >> myFilePretty.json
następnie otworzyłem w moim edytorze (vim, nie nienawidzę) i uzyskałem kolory.Okazało się, że json_reformat jest bardzo przydatny. Więc właśnie wykonałem następujące czynności:
Otóż to!
źródło
Sprawdź curljson
źródło
Motywacja: chcesz wydrukować odpowiedź JSON dla upiększania po żądaniu polecenia curl.
Rozwiązanie : json_pp - narzędzie wiersza poleceń, które konwertuje niektóre formaty wejściowe i wyjściowe (jednym z nich jest JSON). Ten program został skopiowany z json_xs i zmodyfikowany. Domyślnym formatem wejściowym jest json, a domyślnym formatem wyjściowym jest json z ładną opcją.
Synpoza :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Formula :
<someCommand> | json_pp
Przykład :
Żądanie
Odpowiedź
źródło