Httpie: تحليل JSON بشكل غير صحيح

تم إنشاؤها على ١٣ أبريل ٢٠١٧  ·  7تعليقات  ·  مصدر: httpie/httpie

مهلا،

بادئ ذي بدء ، httpie هو برنامج رائع. لا أتذكر عدد الزملاء الذين أوصيت باستخدامه.

هناك مشكلة واجهتها. وفقًا للمواصفات التي توفر معلمات JSON ، يتم إجراء معاملات JSON عبر عامل التشغيل := . لكن يتم تشغيل httpie 0.9.9 باستخدام هذه المعلمات:

http post localhost/example/ param1="a b c" param2=d jparam:='["test string"]'

يؤدي إلى ظهور رسالة حول JSON غير صالح. لكن ["test string"] صالح JSON afaik.

http: error: "jparam:='[test string]'": Expecting value: line 1 column 1 (char 0)

ربما يمكن لأي شخص أن يتجاهل ما يبدو أنه خطأ؟

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

poskadesign جرب هذا:

http post localhost/example/ param1="a b c" param2=d jparam:="[\"test string\"]"

لست على دراية بسطر أوامر Windows ، لكنني وجدت https://stackoverflow.com/questions/17205292/quotes-around-quotes-in-windows-command-line وهو مشابه.

ال 7 كومينتر

صححني إذا كنت مخطئًا ، لكن ليس كائن JSON عادة بالتنسيق {"key": "value"}؟

poskadesign ، يبدو الأمر جيدًا وهو يعمل معي في Bash. قد يكون هناك مشكلة في الهروب إذا كنت تستخدم قشرة أخرى.

$ http -v httpbin.org/post  param1="a b c" param2=d jparam:='["test string"]'
POST /post HTTP/1.1
Accept: application/json, */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 61
Content-Type: application/json
Host: httpbin.org
User-Agent: HTTPie/0.9.9

{
    "jparam": [
        "test string"
    ],
    "param1": "a b c",
    "param2": "d"
}
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 568
Content-Type: application/json
Date: Sun, 14 May 2017 10:58:53 GMT
Server: meinheld/0.6.1
Via: 1.1 vegur
X-Powered-By: Flask
X-Processed-Time: 0.000903844833374

{
    "args": {},
    "data": "{\"param1\": \"a b c\", \"param2\": \"d\", \"jparam\": [\"test string\"]}",
    "files": {},
    "form": {},
    "headers": {
        "Accept": "application/json, */*",
        "Accept-Encoding": "gzip, deflate",
        "Connection": "close",
        "Content-Length": "61",
        "Content-Type": "application/json",
        "Host": "httpbin.org",
        "User-Agent": "HTTPie/0.9.9"
    },
    "json": {
        "jparam": [
            "test string"
        ],
        "param1": "a b c",
        "param2": "d"
    },
    "origin": "…",
    "url": "http://httpbin.org/post"
}

مرحبًا ، أنا مبتدئ في مشاريع مفتوحة المصدر. أود العمل على هذه المسألة. هل يمكن أن تزودني بمزيد من المعلومات؟

poskadesign ما هو نظام التشغيل وقذيفة هذا؟ يبدو أن قشرتك قد استهلكت علامات الاقتباس المزدوجة لتجنب تقسيم الكلمات على المساحة ، ولكن بعد ذلك تركت علامات الاقتباس المفردة في الوسيطة.

إنه شيء من هذا القبيل .. http POST https://httpbin.org/post wicked = witch casts: = '["spells"، "curses"]' --json

sriyanfernando لا يزال لا يعمل (httpie 0.99 ، Windows 10x64 ، Python 3.61 ، موجه أوامر Windows القياسي):

C:\Users\Me>http post localhost:8000/mail/ recipients:='["[email protected]"]' --json
usage: http [--json] [--form] [--pretty {all,colors,format,none}]
            [--style STYLE] [--print WHAT] [--headers] [--body] [--verbose]
            [--all] [--history-print WHAT] [--stream] [--output FILE]
            [--download] [--continue]
            [--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH]
            [--auth USER[:PASS]] [--auth-type {basic,digest}]
            [--proxy PROTOCOL:PROXY_URL] [--follow]
            [--max-redirects MAX_REDIRECTS] [--timeout SECONDS]
            [--check-status] [--verify VERIFY]
            [--ssl {ssl2.3,ssl3,tls1,tls1.1,tls1.2}] [--cert CERT]
            [--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version]
            [--traceback] [--default-scheme DEFAULT_SCHEME] [--debug]
            [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]
http: error: "recipients:='[[email protected]]'": Expecting value: line 1 column 1 (char 0)

poskadesign جرب هذا:

http post localhost/example/ param1="a b c" param2=d jparam:="[\"test string\"]"

لست على دراية بسطر أوامر Windows ، لكنني وجدت https://stackoverflow.com/questions/17205292/quotes-around-quotes-in-windows-command-line وهو مشابه.

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