2014-03-05 68 views
0

我試圖解碼JSON代碼\ N:解碼JSON,並在最後

"{\"id\":15,\"result\":true,\"error\":null}\n" 

,這是我的代碼:

def serverParse(data): 
    jsonDat = json.loads(data) 
    return json.dumps(data) + '\\n' 

我使用data.replace嘗試('\ n',''),但它似乎也不起作用。有沒有一種方法可以解析它,然後在返回時重新使用'\ n'?

+0

你有雙重編碼JSON在那裏,看起來它。如果它是一個Python字符串,它會使用'{「id」:15,「result」:true,「error」:null} \ n''並且換行符無關緊要。 –

+0

您製作的JSON字符串是怎樣的?您可能想要修復雙重編碼。 –

+0

這個簡單的答案是'return json.dumps('{} \ n'.format(jsonDat))',但是我想知道爲什麼你有這個函數呢? –

回答

1

換行符\n與字符串"\n"之間有區別。你需要替換後者。

data = data.replace('\\n', '') 
+0

dat = data.replace('\\ n','') jsonDat = json.loads(dat) 不起作用。 :S – KNgu

1

使用'\n'而不是'\\n'

>>> import json 
>>> myjson = '{"id": 15, "result": true, "error": null}\n' 
>>> json.dumps(json.loads(myjson)) + '\n' 
'{"id": 15, "result": true, "error": null}\n'