Httpie: Tubuh JSON Cetak Cantik

Dibuat pada 13 Nov 2015  ·  6Komentar  ·  Sumber: httpie/httpie

Cara mencetak badan keluaran JSON dengan cantik untuk memformatnya di konsol bash seperti

macbookproloreto:~ admin$ echo '{"foo": "lorem", "bar": "ipsum"}' | python -m json.tool
{
    "bar": "ipsum",
    "foo": "lorem"
}

Perintah saya terlihat seperti sekarang

http --session=cookies.txt --pretty all --json --print=b --style=xcode "https://myapi.company.com | python -m json.tool

Apakah opsi --pretty bertujuan untuk mencetak badan keluaran dengan cantik? Tampaknya tidak mempercantik badan keluaran, alih-alih mencetak json sebagai teks biasa

'{"foo": "lorem", "bar": "ipsum"}'

Komentar yang paling membantu

@jkbrzt tepatnya. Sebenarnya masalahnya adalah bahwa tajuk server adalah text/plain sedangkan badan adalah teks yang diformat sebagai badan json (json yang diformat dengan baik). Pada dasarnya tajuk respons Content-Type bukan application/json . Bisakah HTTPie memaksa pemformatan json dalam kasus tersebut?

Semua 6 komentar

Ini bekerja di luar kotak:

screen shot 2016-01-01 at 6 58 34 pm

@jkbrzt ya tapi ini bukan respon body . Tampaknya tidak cantik di tubuh tetapi hanya headers .

@loretoparisi itu adalah badan tanggapan, lihat http://httpbin.org/get

Oke saya telah menemukan masalahnya, ada yang salah di header respons. Sebenarnya jika saya mencoba badan respons yang diformat dengan baik dengan format json seperti:

http --session=cookies.txt --pretty all --json --print=b --style=xcode "https://api.spotify.com/v1/tracks/0eGsygTp906u18L0Oimnem"

berhasil.
Ketika header respons http adalah text/plain

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 1996
Content-Type: text/plain; charset=utf-8

format yang dihasilkan polos.

HTTPie melihat respons Content-Type header. Jika text/plain , maka itu tidak melakukan pemformatan khusus. URL yang Anda berikan mengembalikan Content-Type: application/json; charset=utf-8 sehingga diformat dan disorot dengan benar sebagai JSON.

screen shot 2016-01-03 at 6 58 33 pm

@jkbrzt tepatnya. Sebenarnya masalahnya adalah bahwa tajuk server adalah text/plain sedangkan badan adalah teks yang diformat sebagai badan json (json yang diformat dengan baik). Pada dasarnya tajuk respons Content-Type bukan application/json . Bisakah HTTPie memaksa pemformatan json dalam kasus tersebut?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat