我从远程服务器获取一个json对象,并将其转换为这样的python字符串:
a = eval(response)
这是愚蠢的,还是我有更好的选择?
答案 0 :(得分:15)
使用eval
不是处理JSON的好方法:
由于true
,false
和null
,JSON甚至不是有效的Python。
eval
将执行任意Python代码,因此您可能会恶意注入代码。
使用标准库中提供的json
模块:
import json
data = json.loads("[1, 2, 3]")
如果您使用的是2.6以上版本的Python,则需要自行下载该模块。它被称为simplejson
,可以是downloaded from PyPi。
答案 1 :(得分:2)
是的,非常。改为使用json解码器:
>>> from simplejson import loads
>>> loads(response)