2013-04-11 40 views
1

我的Android遊戲推這個JSON我的Django的服務器:我怎樣才能字符串化幾乎有效的JSON在Python

{ 
data: [ 
    [ 
     Settings, 
     "4748" 
    ] 
], 
logType: starcycle-screenchanges 
} 

這不是有效的,雖然,因爲它不具備的字符串。我認爲這是我無法將其插入到mongoDB中的原因。有沒有一種簡單的方法,使我可以使它與json.loads()JSON。

我不能使用eval()

+0

遊戲是寫在libgdx ,我寧願使用他們的API轉換爲Json。他們的API將我的日誌對象轉換爲那些無引號的字符串,而不是有效的json。 – kelorek 2013-04-11 07:46:14

回答

1

你的數據似乎是有效YAML(這是JSON的超集),所以你可以使用PyYAML

>>> import yaml 
>>> yaml.load(data) 
{'data': [['Settings', '4748']], 'logType': 'starcycle-screenchanges'} 
+0

並非我所有的非引用json對象在yaml中都是有效的,但是你絕對會讓我處於正確的軌道。謝謝。 – kelorek 2013-04-11 08:09:02

+2

這個問題最終與libgdx的json對象編碼有關。如此處所述,json不是Json對象的默認值。愚蠢。 https://code.google.com/p/libgdx/issues/detail?id=1097 – kelorek 2013-04-11 08:17:40