Httpie: هيئة JSON ذات الطباعة الجميلة

تم إنشاؤها على ١٣ نوفمبر ٢٠١٥  ·  6تعليقات  ·  مصدر: httpie/httpie

كيفية طباعة جسم إخراج JSON من أجل تنسيقه في وحدة تحكم bash مثل

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

أمري تبدو الآن

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

هل الخيار --pretty يهدف إلى طباعة نص المخرجات بشكل جيد؟ بعد أن يبدو أنه لا يقوم بتجميل جسم الإخراج ، فإنه يطبع json كنص عادي بدلاً من ذلك

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

التعليق الأكثر فائدة

jkbrzt بالضبط. في الواقع ، كانت المشكلة هي أن رؤوس الخادم كانت text/plain بينما كان النص الأساسي عبارة عن نص منسق كجسم json (تنسيق json جيد التنسيق). في الأساس ، رأس الاستجابة Content-Type ليس application/json . هل يمكن لـ HTTPie فرض تنسيق json في تلك الحالات؟

ال 6 كومينتر

هذا يعمل خارج الصندوق:

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

jkbrzt نعم ولكن هذا ليس الرد body . يبدو أنه ليس جميل الجسد ولكن فقط headers .

loretoparisi إنها هيئة الاستجابة ، راجع http://httpbin.org/get

حسنًا ، لقد وجدت المشكلة ، هناك شيء خاطئ في رؤوس الردود. في الواقع ، إذا جربت هيئة استجابة جيدة التنسيق بتنسيق json مثل:

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

إنها تعمل.
عندما تكون رؤوس استجابة http text/plain

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

التنسيق الناتج عادي.

ينظر HTTPie في رأس الاستجابة Content-Type . إذا كان text/plain ، فلن يقوم بأي تنسيق خاص. يرجع عنوان URL الذي قدمته Content-Type: application/json; charset=utf-8 لذلك يتم تنسيقه بشكل صحيح وتمييزه كـ JSON.

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

jkbrzt بالضبط. في الواقع ، كانت المشكلة هي أن رؤوس الخادم كانت text/plain بينما كان النص الأساسي عبارة عن نص منسق كجسم json (تنسيق json جيد التنسيق). في الأساس ، رأس الاستجابة Content-Type ليس application/json . هل يمكن لـ HTTPie فرض تنسيق json في تلك الحالات؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات