一、前情
写入数据到json文件中,发现除了第一行数据,其他的全都有红色波浪线,提示:JSON standard allows only one top-level value
![](https://img.haomeiwen.com/i14493513/149e50807e526d37.png)
二、解决
是格式问题,JSON在python中格式可以是list或者dict,所以将输入的数据存为字典格式或者list,就不会有该报错了
# -*- coding:utf-8 -*-
import json
data = {} # 定义一个空字典
filename = 'test.json' # 写入的文件名
for n in range(3):
key = input('please input key:')
value = input('please input value:')
data[key] = value # 将输入的值存储为字典
with open(filename, 'w') as f:
json.dump(data, f, ensure_ascii=False) # 或者[data],list格式也OK
# ensure_ascii为True的时候,所有非ASCII码字符显示为\uXXXX序列
# 所以将其设置为False即可,此时存入json的中文可正常显示
![](https://img.haomeiwen.com/i14493513/8ba8b561d122b509.png)
网友评论