JSON standard allows only one top-level value

一、前情
写入数据到json文件中,发现除了第一行数据,其他的全都有红色波浪线,提示:JSON standard allows only one top-level value


报错

二、解决
是格式问题,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的中文可正常显示
格式更改之后

你可能感兴趣的:(JSON standard allows only one top-level value)