JSON非常类似于Python语法。是否所有JSON对象都可以直接转换为Python而不会出错?
示例
下面是一个有效的JSON对象:
// Valid JSON
{"foo":"bar"}
此对象将直接转换为键为foo、值为bar的Python字典:
# Python
json_dict = eval('{"foo":"bar"}')
发布于 2011-07-09 00:45:03
不是的。特别是,true
、false
和null
不是Python,尽管它们在Python语言中有直接的等价物(分别是True
、False
和None
)。
// Valid JSON
{"sky_is_blue":true}
但在Python中使用时...
# Python
>>> json_dict = eval('{"sky_is_blue":true}')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'true' is not defined
发布于 2011-07-09 01:42:48
这个问题已经得到了回答(答案也被接受了),但我想指出的是,在评估true
之前,可以使用以下代码来克服false
、null
和Python不是Python的问题:
true = True
false = False
null = None
当然,JSON解析器还是更好。
https://stackoverflow.com/questions/6627635
复制相似问题