В моем сценарии оболочки Unix, когда я выполняю команду 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"}
Как мне отформатировать вывод таким образом?
json_pp
кажется, форматирует данные в обратном порядке, чем ожидалось. Есть ли способ отменить данные?Я предполагаю, что вы хотите предварительно подтвердить вывод JSON. Это может быть достигнуто с помощью Python:
источник
head
команда обрезает вывод, передаваемый по нему до достижения конца, тем самым «разрывая» трубу. Если вы разрешитеhead
потреблять весь поток данных из канала, я ожидаю, что ошибка не появится.также может помочь
источник
Это добавить к ответу Жиля. Есть много способов сделать это, но лично я предпочитаю что-то легкое, легко запоминающееся и универсально доступное (например, поставляемое со стандартными установками LTS вашего предпочтительного варианта Linux или простое в установке) в распространенных системах * nix.
Вот варианты в их предпочтительном порядке:
Модуль Python Json.tool
JQ (может потребоваться однократная установка)
json_pp (доступно в Ubuntu 16.04 LTS)
Для пользователей Ruby
источник
cat myFile.json | python -mjson.tool >> myFilePretty.json
затем открыл в моем редакторе (vim, не ненавижу) и получил цвета.Вы можете использовать этот модуль узла
[sudo] npm i -g json
; // предлагаем не использовать привилегии root для установки модуля узлазатем просто добавьте
|json
после curl.curl http://localhost:8880/test.json |json
источник
Я нашел json_reformat очень удобным. Поэтому я просто сделал следующее:
Это оно!
источник
Проверьте curljson
источник
Мотивация: Вы хотите напечатать ответ JSON prettify после запроса команды curl.
Решение : json_pp - инструмент командной строки, который конвертирует между некоторыми форматами ввода и вывода (одним из них является JSON). Эта программа была скопирована с json_xs и модифицирована. Формат ввода по умолчанию - json, а формат вывода по умолчанию - json с красивой опцией.
Синопсис :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Формула :
<someCommand> | json_pp
пример :
Запрос
отклик
источник