Json文件内容有误,解析失败
收藏
想把字典保存在本地json文件时遇到一个问题,json文件保存一次字典内容可以正常打开查看,但是保存两次及以上时打开json就会显示文件内容有误,解析失败,网上查了一堆没有可以直接修改代码成功的例子,求解。(PS:下载到本地是可以正常打开,但是我想在notebook里也可以查看)
a = dict(pic_id = 3, h =3 , w = 3, y = 3, x =3 , sign_id = 3, type = 3)
with open("tmp.json",'w',encoding='utf-8') as f:
for i in range(1):
json.dump(a, f)
print(a)
以上是保存一次字典时,json正常显示。但是按下面将字典循环两次写入到json,就不行了。
a = dict(pic_id = 3, h =3 , w = 3, y = 3, x =3 , sign_id = 3, type = 3)
with open("tmp.json",'w',encoding='utf-8') as f:
for i in range(2):
json.dump(a, f)
print(a)
0
收藏
请登录后评论
一般这种情况就是json格式错了,既然下载到本地了可以检查下json格式对比的,不是本地能打开格式就没问题的,因为本地一般是打开文本,啥都能显示。
觉得直接保存numpy更方便,json总觉得操作起来很慢
问题解决了,代码里不能同时把多个dict保存在统一json文件里,会冲突。正确的做法是把多个dict合并成一个dict再保存到json里。
比如把两个a合并到b里,再保存
是在制作数据集,看官方的好多都使用json,所以也尝试一下,字典读取确实挺慢的