在python中逐行加载json时出错?
这是我的json文件格式在python中逐行加载json时出错?,python,json,Python,Json,这是我的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代码
[{
"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))
JSON中不允许使用,}(根据给出的数据,我想这是问题所在)。
,}
在JSON中不允许使用(根据给出的数据,我想这是问题所在)。问题在于逐行读取和解码文件。文件中的任何一行(例如,“[{”
)都不是有效的JSON表达式。问题在于逐行读取和解码文件。文件中的任何一行(例如,“[{”
)都不是有效的JSON表达式。您的各行都不是有效的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'])
您的各行不是有效的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'])
您似乎在一次一行处理整个文件。为什么不简单地使用一次获取整个内容,然后将其提供给json
with open('file') as f:
contents = f.read()
data = json.loads(contents)
更好的办法是,为什么不使用json.load()
直接传递可读文件并让它处理slurping呢
with open('file') as f:
data = json.load(f)
您似乎在一次一行处理整个文件。为什么不简单地使用一次获取整个内容,然后将其提供给json
with open('file') as f:
contents = f.read()
data = json.loads(contents)
更好的办法是,为什么不使用json.load()
直接传递可读文件并让它处理slurping呢
with open('file') as f:
data = json.load(f)
,在json中是允许的,上面的示例会切断后续的json内容。它不是,}它是},我的意思是
,
和}
,请参阅处的格式规范。在json中是允许的,上面的示例会切断后续的json内容。它不是,}它是},我的意思是,
和}
,请参阅中的格式规范。可能列表中的某个属性实际上有一个单引号而不是双引号?可能列表中的某个属性实际上有一个单引号而不是双引号?加载json文件的正确方法是什么?只需使用json.load()
从文件加载。将json文件加载到dict的正确方法是什么?只需从文件中使用json.load()
。你是说json.load不是json.load吗?否。load
从字符串读取,而load
从可读文件(如文件句柄)读取或者,是的。我只是在content=version.Edited中看到了错误。你是说json.loads不是json.load吗?否。loads
从字符串读取,而loads
从可读文件(如文件句柄)读取。或者,是的。我只是在content=version.Edited中看到了错误。我想将json转换为字典我想将json转换为字典