2014-11-08 28 views
1

我想弄清楚如何將我的全局變量編碼爲JSON格式,我甚至不確定它是否可能。我使用Python 2.7.8,我已經從幾個不同的方法嘗試這樣做:如何使用JSON編碼全局Python變量?

# Variables 
value = "String" # String 
value2 = 0 # Integer 
value3 = True # Boolean 

json.dumps({"key": value, "key2": value2, "key3": value3}, sort_keys=True, indent=4, separators=(',', ': ')) 

我也試圖使一個字符串第一(有和沒有大括號,有/無的報價字符串值等)

json_raw = '{"key": %s, "key2": %d, "key3": %s}' % (value, value2, value3) 
json.dumps(json_raw, sort_keys=True, indent=4, separators=(',', ': ')) 

然而,這些嘗試的每一個我得到的錯誤:

AttributeError: 'str' object has no attribute 'dumps' 

任何想法?

回答

3

讓我的代碼回答:

value = "String" # String 
value2 = 0 # Integer 
value3 = True # Boolean 
json_map = {} 
json_map["Some string"] = value 
json_map["Some int"] = value2 
json_map["Some bool"] = value3 
result = json.dumps(json_map) 

,然後將結果containts '{"Some int": 0, "Some string": "String", "Some bool": true}'。這一切都歸功於python dictionariesjson.dumps的魔力。

+0

太棒了,我知道它與您的解決方案一起工作。謝謝! – Winter 2014-11-08 04:59:26

0

這絕對是可行的。讀取你的代碼,你正在使用json.dump函數。 dump期望第二個參數是類文件對象。 dumps函數,注意s,不,並返回數據的JSON表示形式爲字符串。

+0

感謝您的回答!對不起,我的代碼_does_有'json.dumps',但我不小心把'json.dump'放在了我的問題中。雖然這很有幫助,但我會牢記以備將來參考。 – Winter 2014-11-08 05:02:19