2017-10-28 99 views
2

元素我使用此代碼加載我的文件:訪問JSON與Python的

with open('filepath') as myfile: 

    data = [next(myfile) for x in xrange(100)] 

print data 

print json.dumps(data, indent=1, sort_keys=False) 

在第一種情況下,結構我得到的,是這樣的:

[ 

'{"A": "Avalue", "B": "Bvalue", "C": [c1, c2], "D": "Dvalue"}\n', 

'{"2A": "2Avalue", "2B": "2Bvalue", "2C": [2c1, 2c2], "2D": "2Dvalue"}\n' 

] 

在第二種情況:

[ 

    "{\"A": \"Avalue\", \"B\": \"Bvalue\", \"C\": [c1, c2], \"D\": value\"D\"}\n", 

    "{\"2A": \"2Avalue\", \"2B\": \"2Bvalue\", \"2C\": [2c1, 2c2], \"2D\": 2value\"D\"}\n"} 

] 

我想要訪問它的元素,但我無法弄清楚如何。有誰知道斜線的含義,可以幫助我。 感謝

+0

我對jupyter – nkm

+0

工作,不要在你的數據變量使用json.dumps()。 – pissall

回答

0

你在列表2個元素:\"只是意味着你有你的字符串"字符(換句話說,有串內"字符)。

1

該文件在JSON中編碼兩次。

如果您在JSON文件上使用json.dumps()或者如果您使用兩次json.dumps(),則會發生這種情況。你能告訴我們更多關於它嗎?

可能的解決辦法:

import json 
clear_json = json.loads(your_json)