2017-10-28 101 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)