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"}}'