【发布时间】:2020-03-19 17:11:44
【问题描述】:
您好,我正在尝试在终端中传递 json 作为有效负载输入,但是在终端中传递参数后,我得到了没有双引号的 json,我也希望我的响应输出为 json 格式。
如何在传递命令行参数后停止删除双引号?
这是我的代码,
def get_apicall():
Token = get_token()
url = "http://localhost.../resp"
Header = {'Content-Type': "application/json", 'Authorization': 'Bearer ' + str(Token)}
payload = sys.argv[1]
print(payload)
payload1 = json.dumps(payload )
print(payload1)
response = requests.request("POST", url, data=payload1, headers=Header)
print(response.text)
get_endpoint()
我的输入json是{ "request":"success","input":[ { "type":" ", "content":[ { "type":" ", "meta":{ "sample_type":" " , deatail":" "} ] } ], "output":[ { "type":" ","content":[ { "type":"", "meta":{ "sample_type":"", }, "deatils":" " } ] } ] }
当我尝试打印在终端 payload = sys.argv[1] print(payload) 中传递的输入有效负载时
但是当我执行 print(payload) 删除双引号时我得到了这个:{ request:success,input:[ { type: , content:[ { type: , meta:{ sample_type: , deatail: } ] } ], output:[ { type: ,content:[ { type:, meta:{ sample_type:, }, deatils: } ] } ] }
如果我在上面的代码中的某些地方有错误,请纠正我。
我希望print(payload) 与我的输入有效负载相同
{ "request":"success","input":[ { "type":" ", "content":[ { "type":" ", "meta":{ "sample_type":" " , deatail":" "} ] } ], "output":[ { "type":" ","content":[ { "type":"", "meta":{ "sample_type":"", }, "deatils":" " } ] } ] }`
【问题讨论】:
-
如何调用脚本?
-
你使用的是什么操作系统?
-
引号,没有引号,重要的是值是什么,它们的类型。请忘记引号,并清楚其值及其类型。
标签: python json python-3.x command-line-arguments