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

18

json.dumps(..)str(..)有什么不同?

它们不都是将json转换为字符串吗?


11
str() 函数将对象转换为 Python 字符串,而 json.dumps() 函数生成符合 JSON 标准的字符串。两者互不相关。 - Martijn Pieters
虽然 JavaScript 语法(其中 JSON 是一个子集)和 Python 语法在许多方面相似,但它们远非相同。不要混淆两者。 - Martijn Pieters
1个回答

22

实际上,在Python的(我相信大多数)实现中,str(object)方法将字符串包裹在单引号中,这是无效的JSON。

一个例子:

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

str(boolean) 也不是有效的JSON:

In [18]: print str(True)
True

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接