json.dumps(..)
和str(..)
有什么不同?
它们不都是将json转换为字符串吗?
实际上,在Python的(我相信大多数)实现中,str(object)
方法将字符串包裹在单引号中,这是无效的JSON。
一个例子:
In [17]: print str({"a": 1})
{'a': 1}
str(boolean)
也不是有效的JSON:
In [18]: print str(True)
True
__str__
可以在用户自定义类中被重写,以确保对象返回自己的JSON表示形式。
str()
函数将对象转换为 Python 字符串,而json.dumps()
函数生成符合 JSON 标准的字符串。两者互不相关。 - Martijn Pieters