传递命令行参数后,如何停止删除双引号?

嗨,我正在尝试将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)删除了两个qoutes时,我得到了:{ request:success,input:[ { type:,content:[ { type:,meta:{ sample_type:,deatail: } ] } ],output:[ { type:,meta:{ sample_type:,deatils: } ] } ] }

如果我在上面的代码中的某些地方写错了,请纠正我。

我想让print(payload)与我的输入有效载荷

{ "request":"success","deatils":" " } ] }  ] }`
su0123456789 回答:传递命令行参数后,如何停止删除双引号?

使用print()功能可以将不同的格式应用于打印。也许尝试使用repr()函数,该函数将根据Python解释对象的方式显示该对象。即它将包括类型信息,例如字符串的引号,列表的方括号和字典的花括号。

,

您正尝试使用print()打印JSON格式的JSON(删除双引号)。

如果要将引号保留在输出中,请在json.dumps()中使用print()docs)。也就是说,只需在代码中将print(payload)替换为print(json.dumps(payload))

因此,以下代码将为您工作:

import json

print(json.dumps(payload))
本文链接:https://www.f2er.com/3043200.html

大家都在问