【发布时间】:2016-01-03 05:20:18
【问题描述】:
我一直在尝试转换下面给出的字典对象字符串
"{'Cmd': None, 'Hostname': None, 'Entrypoint': None, 'Env': None, 'OpenStdin': False,
'Tty': False, 'Domainname': None, 'Image': u'nginx:latest', 'HostConfig':
{'Binds': None, 'RestartPolicy': {}, 'NetworkMode': u'bridge', 'Dns': None,
'Links': [], 'PortBindings': {}, 'DnsSearch': None, 'Privileged': False,
'VolumesFrom': []}, 'ExposedPorts': {}, 'User': None}"
到 python 字典。
但是在搜索时出现的解决方案建议为此目的使用 python ast 库。作为
import ast
ast.literal_eval(string)
而且效果很好。但是 ast 库是为了解决这样的问题而构建的吗?除了这个有什么好的方法来解决这个问题吗?
【问题讨论】:
-
一个更好的问题可能是:你如何以 "a string of dictionary objects" 结束?如果您要将数据持久化到文件中,请考虑使用 JSON(人类可读但仅限于某些数据类型)或 pickle(不可读但几乎适用于任何对象)。
-
@jonrsharpe 这是我从文本区域字段的表单帖子中获得的数据。我无法将其解析为 json
-
你为什么要这样输入?这样做的目的是什么?
-
为什么需要 ast 库?你不能只使用常规的 eval() 吗?
-
@EspenHaugsdal 关于通过网络表单提交的数据?你疯了吗?参见例如stackoverflow.com/q/1832940/3001761, stackoverflow.com/q/1933451/3001761
标签: python json type-conversion