这是我的json文件格式,
[{
"name": "",
"official_name_en": "Channel Islands",
"official_name_fr": "Îles Anglo-Normandes",
}, and so on......
加载文件中的上述json时出现此错误,
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:
这是我的python代码,
import json
data = []
with open('file') as f:
for line in f:
data.append(json.loads(line))
答案 0 :(得分:2)
[0] => Andrey:Makarov:525359:east::57.9318:33.2573:31591:424:1 [1] => John:Smith:752351:east::56.7318:23.6373:37491:424:1
(根据给出的数据,我猜这是问题所在。)
答案 1 :(得分:1)
您似乎一次处理整行文件。为什么不简单地使用.read()
一次获取整个内容,然后将其提供给json?
with open('file') as f:
contents = f.read()
data = json.loads(contents)
更好的是,为什么不使用json.load()
直接传递可读性并让它处理啜食?
with open('file') as f:
data = json.load(f)
答案 2 :(得分:0)
问题在于您逐行读取和解码文件。文件中的任何一行(例如"[{"
)都不是有效的JSON表达式。
答案 3 :(得分:0)
您的个别行无效JSON。例如,第一行' [{'本身并不是有效的JSON。如果您的整个文件实际上是有效的JSON并且您想要单独的行,请首先加载整个JSON,然后浏览python词典。
import json
data = json.loads(open('file').read()) # this should be a list
for list_item in data:
print(list_item['name'])