2015-06-28 51 views
0

我從數據庫表中檢索多個列。其中一個列名稱是包含JSON數據的值。如果我從數據庫中選擇唯一的值列,那麼我會按照以下格式獲取記錄。Python中的JSON數據格式

value = (u'{"time":["9599","MS"],"What is your birth place?":["USA"]}',) 

但是,如果我選擇與其他列值列然後我得到記錄在以下格式:

value = {"time":["9599","MS"],"What is your birth place?":["USA"]} 

我需要爲第一格式的價值,因爲我想分開的鍵值對具有以下代碼的數據。

dict = json.loads(value[0]) 
dict.keys() 
dict.values() 

我的輸出應該如下所示。

Keys 
----- 
time 
What is your birth place? 

Value: 
------ 
9599 
MS 
USA 

如何將數據從第二種格式轉換爲第一種格式?

+0

對於第二種格式,不要'value.keys()'和'value.values()'完成你想要的? – mcwitt

回答

0

你可以簡單地調用str()value,然後創建所需的元組:

value = {"time":["9599","MS"],"What is your birth place?":["USA"]} 
value = (str(value),) 
print value 
>> ("{'What is your birth place?': ['USA'], 'time': ['9599', 'MS']}",) 

編輯:實際上,它會更好地使用json.dumps()這需要一個Python字典,並返回一個json字符串:

value = {'time':['9599','MS'],'What is your birth place?':['USA']} 

import json 

value = (json.dumps(value),) 
print value 
>> ('{"What is your birth place?": ["USA"], "time": ["9599", "MS"]}',)