为什么在Python中处理json字符串时不建议使用eval()
我。前言
最近发现有些小伙伴用eval来处理json,为了能顺利将json转成字典而不报错,他们还写了如下赋值操作(因为json的空心是null
, False 是 false
, true 是 true
和 Python 的表达式不一样,如果不赋值下面的代码,会得到一个如果使用 eval 转换会出错):
null =无
false=False
true=True
- 1
- 2
- 3
其实Python的标准库中有一个处理json的库,叫做json
。比如你想把一个json字符串转成字典,只需要使用 json.loads
方法就可以了;另外,eval
处理json的性能远不如json
库。
2. Json.loads与eval性能对比
现在我们创建一个长度为100万的json字符串数据:
test_data = json.dumps({