json.dumps和str()有什么区别?

时间:2014-03-03 18:28:50

标签: python python-2.7

json.dumps(..)str(..)之间的区别是什么?

他们不是都将json转换成字符串吗?

1 个答案:

答案 0 :(得分:5)

没有。实际上在(我相信大多数)Python的实现中,str(object)用单引号包装字符串,这是不是有效的JSON。

一个例子:

In [17]: print str({"a": 1})
{'a': 1}

str(boolean)也无效JSON:

In [18]: print str(True)
True
但是,

__str__可以在用户定义的类中重写,以确保对象返回自己的JSON表示。