我正在使用以下python脚本来读取和解析json文件
import json
with open('testdata.json', 'r') as raw_data:
content = json.load(raw_data)
print(content)
包含以下数据:
{"grp":"1"; "total":"10"}
{"event":"run", "timestamp":"2010-01-30 10:00:40", "id": "200", "distance": "5"}
{"event":"walk", "timestamp":"2010-01-31 18:46:00", "id": "200", "disrance": "2"}
我收到了错误:
Traceback (most recent call last):
File "readdata.py", line 4, in <module>
content = json.load(raw_data)
File "/usr/lib/python2.7/json/__init__.py", line 290, in load **kw)
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 369, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 3 column 1 (char 93 - 187)
如果我有一行数据它可以工作...... 2行或更多行数据我得到错误
无法看到导致此问题的任何内容
答案 0 :(得分:2)
SO语法荧光笔解决了您的问题。
"distance': "5"}
^
将此更改为双引号
但还有很多其他问题。这是您的json文件的有效版本。
[
{"grp":1, "total":10},
{"event":"run", "timestamp":"2010-01-30 10:00:40", "id": "200", "distance": "5"},
{"event":"walk", "timestamp":"2010-01-31 18:46:00", "id": "200", "disrance": "2"}
]
注意每个键的"
。 ,
对之间的key:value
和列表元素之间的,
。
您可以使用jsonlint.com
等工具验证您的JSON