我有Json格式的文件:
{"uid": 2, "user": 1}
{"uid": 2, "user": 1}
{"uid": 2, "user": 1}
当我使用以下代码时,它显示一个错误:
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 22)
with open('E:/list.txt','r') as target:
my_list = json.load(target)
如何将我的文件内容转换成字典列表?谢谢
由于它不是有效的json格式,因此基本上不会加载您的内容,请尝试以下脚本:
import json
try:
file_content = """{"uid": 2, "user": 1}
{"uid": 2, "user": 1}
{"uid": 2, "user": 1}"""
json.loads(file)
except Exception as e:
print("This is not JSON!")
print('-' * 80)
file_content = """[{"uid": 2, "user": 1},
{"uid": 2, "user": 1},
{"uid": 2, "user": 1}]"""
print(json.loads(file_content))
结果将是:
This is not JSON!
--------------------------------------------------------------------------------
[{'user': 1, 'uid': 2}, {'user': 1, 'uid': 2}, {'user': 1, 'uid': 2}]
证明如果将字典包装在方括号中并用逗号分隔项目,则json将被正确解析
当然,如果您根本不想调整文件,则可以执行以下操作来创建输出:
import json
file_content = """{"uid": 2, "user": 1}
{"uid": 2, "user": 1}
{"uid": 2, "user": 1}
"""
output = [json.loads(line)
for line in file_content.split("\n") if line.strip() != ""]
print(output)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句