Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将dict转换为str_Python_Python 3.x_Dictionary - Fatal编程技术网

Python 将dict转换为str

Python 将dict转换为str,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有一个str负载看起来像这样 payload = "{\"fqdn\":\"examplazdazdazazdzadza.com\",\"duration\":5,\"owner\":{\"city\":\"Paris\",\"given\":\"Alice\",\"family\":\"Doe\",\"zip\":\"75001\",\"country\":\"FR\",\"streetaddr\":\"5 rue neuve\",\"phone\":\"+33.123456789\",\"

我有一个
str
负载看起来像这样

payload = "{\"fqdn\":\"examplazdazdazazdzadza.com\",\"duration\":5,\"owner\":{\"city\":\"Paris\",\"given\":\"Alice\",\"family\":\"Doe\",\"zip\":\"75001\",\"country\":\"FR\",\"streetaddr\":\"5 rue neuve\",\"phone\":\"+33.123456789\",\"type\":0,\"email\":\"alice@example.org\"}}"
这是甘地号的有效载荷

我想使有效负载更具动态性并具有一定的灵活性,因此我厌倦了dict

domain='example.com`

在此之后,我需要恢复到原始日期类型(str),我就是这样做的

payload='\n'。对于payload.items()中的k,v,加入('\%s\:“\%s\”%”%(k,v)

然而,这又回来了

错误的请求

有没有办法把这件事做好

可以使用以下方法执行此操作:

在OP的评论之后:
正如链接文档告诉您的,这是JSON,使用模块中的工具进行序列化和反序列化(或者使用类似的工具会自动完成),这只适用于Python3。Python2可能会弄乱引号。@PrateekDewan:为什么Python2会弄乱引号?你能给出这样一个场景的例子,或者一个描述它的链接吗?这个答案唯一的问题是,如果您使用的是2.6 Python之前版本的遗留系统,因为它没有JSON的本机支持。我试过使用Python2解释器,结果就是这样。输出仍然是一个字符串。”“{\\“fqdn\\”:\\“examplazazdzadza.com\\”,\\“duration\\”:5,\\“owner\\”:\\“city\\”:\\“Paris\\”,\\“give\\”:\\“Alice\\”,\\“family\\”:\\“Doe\\”,\\“zip\\”:\\“75001\\,“country\\”:\\“country\\”:“FR\\”,“streetaddr\\”:“5 neuve\”,“phone\\”,“phone\\ \”,“phone\\ \ \ \ \”,“e\\ \”,“e\\”:\”,“电子邮件类型:\ \ \ \ \”:\ \ \ \ \ \ \”,“12345alice@example.org\\"}}"“@Mayank Porwal转储后如何传递域参数?”user3641381检查我更新答案的第二部分。
        payload = {
            'fqdn': domain,
            'duration': 1,
            'owner': {
                "city": "Paris",
                "given": "Alice",
                "family": "Doe",
                "zip": "75001",
                "country": "FR",
                "streetaddr": "5 rue neuve",
                "phone": "+33.123456789",
                "state": "FR-J",
                "type": 0,
                "email": "alice@example.org"
            }
        }
In [409]: import json                                                                                                                                                                                       

In [410]: json.dumps(payload)                                                                                                                                                                               
Out[410]: '{"fqdn": "domain", "duration": 1, "owner": {"city": "Paris", "given": "Alice", "family": "Doe", "zip": "75001", "country": "FR", "streetaddr": "5 rue neuve", "phone": "+33.123456789", "state": "FR-J", "type": 0, "email": "alice@example.org"}}'
In [411]: domain = 'example.com'                                                                                                                                                                            

In [412]: payload = { 
     ...:             'fqdn': domain, 
     ...:             'duration': 1, 
     ...:             'owner': { 
     ...:                 "city": "Paris", 
     ...:                 "given": "Alice", 
     ...:                 "family": "Doe", 
     ...:                 "zip": "75001", 
     ...:                 "country": "FR", 
     ...:                 "streetaddr": "5 rue neuve", 
     ...:                 "phone": "+33.123456789", 
     ...:                 "state": "FR-J", 
     ...:                 "type": 0, 
     ...:                 "email": "alice@example.org" 
     ...:             } 
     ...:         }                                                                                                                                                                                         

In [413]: json.dumps(payload)                                                                                                                                                                               
Out[413]: '{"fqdn": "example.com", "duration": 1, "owner": {"city": "Paris", "given": "Alice", "family": "Doe", "zip": "75001", "country": "FR", "streetaddr": "5 rue neuve", "phone": "+33.123456789", "state": "FR-J", "type": 0, "email": "alice@example.org"}}'