2017-06-05 53 views
0

我有串那樣:解碼JSON字符串可以用Python json.loads

jstring = {"label":"2017-06-01","value1":"250.730000"},{"label":"2017-06-02","value1":"250.730000"}

結束時,如果我用json.loads(的jstring)我得到這個錯誤:

Traceback (most recent call last): 
    File "Funds.py", line 44, in <module> 
    data = json.loads(array) 
    File "/usr/lib/python2.7/json/__init__.py", line 339, in loads 
    return _default_decoder.decode(s) 
    File "/usr/lib/python2.7/json/decoder.py", line 367, in decode 
    raise ValueError(errmsg("Extra data", s, end, len(s))) 
ValueError: Extra data: line 1 column 45 - line 1 column 54951 (char 44 - 54950) 

什麼我應該使用它嗎?

+2

嘗試圍繞你用方括號的jstring,像'[{ \t 「標籤」: 「2017年6月1日」, \t 「VALUE1」: 「250.730000」 },{ \t 「標籤」: 「2017年6月2日」, \t「value1」:「250.730000」 }]' – Hackerman

+0

我添加[,]括號但仍然不會正常運行 在字符串末尾編輯';'出現這樣不正確,對我的錯誤感到抱歉 –

回答

1

如果你有整個事情作爲這樣的字符串:

jstring = '{"label":"2017-06-01","value1":"250.730000"},{"label":"2017-06-02","value1":"250.730000"}' 

則轉儲過程中看到這兩個不同的充對象,它不能正確處理的信息。你需要把你的字符串中的單個對象是這樣的:

jstring = '{"first":{"label":"2017-06-01","value1":"250.730000"},"second":{"label":"2017-06-02","value1":"250.730000"}}' 

或像這樣:

jstring = '[{"label":"2017-06-01","value1":"250.730000"},{"label":"2017-06-02","value1":"250.730000"}]' 

這樣的解析器看到只有一個對象