2017-06-18 70 views
0

我一直在使用json.dumps()創建一些模板,但使用它時,它改變了我的布爾值 的外殼下面是如何複製:爲什麼json.dumps會更改布爾值的大小?

import json 

test_obj = {'field': False} 
print json.dumps(test_obj) 
# prints {"field": false} 

什麼是這個原因?

+0

可能與它是小寫做的是JavaScript和因此可能由小寫JSON規範? – Carcigenicate

+0

@Carcigenicate我實際上正在編輯和寫這個建議!這會很有意義。 – kermitvomit

+0

@kermitvomit無論如何,那必須只是一個字符串表示。除非你試圖''評估''dumps'給你帶來什麼,否則它實際上不應該產生任何效果。 – Carcigenicate

回答

2

json.dumps()將Python字典轉換爲格式爲字符串的JSON對象。根據JSON specification,JSON中的兩個布爾文字是truefalse。所以,json.dumps()並沒有改變外殼,它只是將Python的布爾文字,TrueFalse分別轉換爲JSON的布爾文字,truefalse

如果你希望得到的Python字典的字符串表示,無須轉換爲JSON,你可以投的字典字符串中使用str()

0

JSON代表JavaScript Object Notationtrue是JS中的布爾表示。與these docs比較。