我现在有一个名为 str1 的字符串,如下所示:
{u'price': 542.23, u'name': u'ACME', u'shares': 100}
我想将它转换成真正的JSON数据。
使用方式
data = json.loads(str1)
不起作用。你有什么好主意吗? (使用Python)
最佳答案
import ast
s = "{u'price': 542.23, u'name': u'ACME', u'shares': 100}"
d = ast.literal_eval(s)
> type(d)
<type 'dict'>
> d['price']
542.23
顺便说一下,eval 并不安全。
如果输入不是有效的 Python 数据类型,ast.literal_eval 会引发异常,因此如果不是有效的代码将不会执行。
每当需要 eval 时,请使用 ast.literal_eval。如果您将 Python 表达式作为要计算的输入,则不应使用它们。
关于python - 如何将 'JSON-like'字符串转换为真正的JSON数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650893/