2014-03-03 75 views
4

json.dumps(..)str(..)和有什麼不一樣?json.dumps和str()有什麼區別?

難道他們都將json轉換爲字符串嗎?

+5

編號'str()'轉換爲** Python **字符串,'json.dumps()'產生一個符合JSON標準的字符串。這兩個是正交的。 –

+0

儘管JavaScript語法(其中JSON是子集)和Python語法在很多方面都很接近,但它們遠不相同。不要混淆兩者。 –

回答

4

不,實際上(我相信大多數)Python的實現,str(object)將字符串換成單引號,這是而不是有效的JSON。

一個例子:

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

str(boolean)也沒有有效的JSON:

In [18]: print str(True) 
True 

__str__,可以,但是,可以在用戶定義的類重寫,以確保對象返回自己的JSON表示。

相關問題