使用 json.dump 引发 JSONDecodeError("Extra data", s, end)

2023-12-09

我需要创建一个包含许多 json 的 json 文件,例如:{}{}{}。

我实际上可以创建该文件,但是当我尝试读取它时,出现此错误:

raise JSONDecodeError("Extra data", s, end)
JSONDecodeError: Extra data

有什么帮助吗?

# Create dictionaries

texto = ['a','b','c','d','e']
keys = ['id','klass','text']
datos = []
for i in range(0,5):
    values = [str(i), str(0), texto[i]]
    dictio = dict(zip(keys, values))
    datos.append(dictio)

# Create the json
for my_dict in datos:
    with open("test.json", 'a') as fp: 
        json.dump(my_dict,fp)

# Read the json:
data = []
with open("test.json") as f: 
    for line in f:
        data.append(json.loads(line))

我期望一个格式为 {}{}{} 的 .json 文件,并在 python 中读取该文件。现在我有了这种格式的文件,但是当我尝试读取它时出现错误

JSONDecodeError("Extra data", s, end)

json.dump不输出尾随换行符,因此在将多个 JSON 字符串转储到同一文件中的循环之后,同一行中有多个 JSON 对象,当您读取该行并将其解析为json.loads它会抱怨第一个 JSON 对象结束后有额外的数据。

要修复它,您可以在每次调用后写入一个换行符json.dump。此外,无需为每次迭代打开文件。您可以在循环之前打开文件:

with open("test.json", 'w') as fp: 
    for my_dict in datos:
        json.dump(my_dict,fp)
        fp.write('\n')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 json.dump 引发 JSONDecodeError("Extra data", s, end) 的相关文章

随机推荐

  • Typescript Mongoose 以类型安全的方式忽略查询结果中的某些字段

    我正在使用 Nestjs 和 Mongoose 我需要获取用户配置文件 但忽略 Mongodb 中的密码 我的用户架构如下所示 Schema export class User extends Document Prop required
  • 如何将字节数组数据放入DoubleBuffer

    我想从字节数组中提取一组坐标到 DoubleBuffer 中 下面是如何将一组坐标从主字节数组提取到另一个字节数组的示例 byte intPoints new byte 4 byte geomCoords is new ByteArrayI
  • .net WebService,绕过 ssl 验证!

    好吧 我正在使用一个 Web 服务 该服务的证书未 100 正确设置 该证书是为域 domain1 com 设置的 并且 api 位于soap shop domain1 com SOAP 现在我无法连接到此webservice 然后我得到一
  • GetModuleHandle(),用于另一个进程中的 DLL

    标题确实解释了这一切 我有一个进程利用另一个进程 我需要能够在该程序上获取某个非 Windows 标准的 DLL 并且我没有主程序的源代码 我需要使用它通过 GetProcAddress 调用导出函数 并最终在 CreateRemoteTh
  • 比较Java中不同类的对象字段

    我有两个对象 每个对象都有数十个字段 Class1 int firstProperty String secondProperty Class2 int propertyOne String propertyTwo 虽然有些字段的名称不同
  • 使 WooCommerce 中不需要结账地址字段

    在 Woocommerce 中 我试图使用下面的代码使结账地址字段不需要 但我有这个错误提交结帐表格时 请输入地址以继续 我设置不需要的地址结帐字段的代码 add filter woocommerce billing fields wc n
  • JSON 到 PHP 关联数组

    你们中有人知道将其放入关联数组的好方法吗 我努力了json decode但发现并没有太大帮助 这是我需要放入关联数组的数据 data name Joe Bloggs id 203403465 name Fred Bloggs id 2547
  • IBM Worklight - 在哪里可以找到以前的版本

    我希望使用 IBM Worklight v5 0 5 Fix pack 1 设置 Eclipse 开发环境 我可以获得有关旧版本 Worklight 的安装链接的一些指示吗 请参阅下面的可用下载 请注意 这些链接并不能保证每次下载都是每个版
  • KeyHolder插入db2表后获取主键值

    再会 我在 db2 中有一个表 其中主表is autoincrement被设定为Yes 意味着每次向该表插入数据时 不需要传入主键值 因为它会自动生成 但是 我需要在插入后取回主键值 代码如下 public integer insertRe
  • PHP Traits:如何解决属性名称冲突?

    当类使用两个 Traits 时如何解决属性名称冲突同名属性 Example
  • 通过互操作接收字符串

    我无法从我编写的一些 C 代码中获取字符串 首先是一些通常不相关的背景信息 我想从 TAPI API 接收 TAPI TSP 的用户可读字符串 我已经实现了一个半可行的 TAPI 解决方案 依赖于将驱动程序名称与存储的字符串相匹配 但希望将
  • 尝试为 API Gateway 设置用户池身份验证

    我正在尝试使用 Cognito 用户池在 API 上设置安全性 我回来了 401 未经授权 API 和用户池已经存在 并且我一直在使用用户池登录应用程序 我现在正在尝试保护 API 调用的安全 我在 API 上创建了一个授权者 然后我将授权
  • 如何识别sql中的unicode文本?

    表 1 有一个名为 umsg 的 nvarchar 列 其中包含 unicode 文本 有时还包含英语 我想找出 umsg 列中存在的英文文本 select from table1 where RDate gt 01 01 2014 and
  • Fraction 对象没有 __int__ 但 int(Fraction(...)) 仍然有效

    在Python中 当你有一个对象时 你可以使用以下命令将其转换为整数 int功能 例如int 1 3 将返回1 这在内部通过使用 int 在这种特殊情况下 对象的魔术方法float int 在Python中Fraction对象可用于构造精确
  • 更改气球图中点的大小并保持零值

    有了这些数据 Data lt structure list ObsVal c 22L 50L 8L 15L 54L 30L 11L 90L 6L 53L 9L 42L 72L 40L 60L 58L 1L 20L 37L 2L 50L 68
  • 如何部署 IBM Filenet P8 订阅?

    在我当前使用 Filenet P8 Content Platform Engine 5 2 1 和 WebSphere 8 5 5 3 的项目中 我想知道如何将内容引擎订阅部署到系统 我搜索了 IBM 文档 但它告诉我如何建立订阅 但没有告
  • Python:使用正则表达式从字符串中解析数值

    我正在编写 python 代码来使用正则表达式从字符串中解析不同类型的数字 但遇到了一个我不明白的恼人问题 我的代码如下 import re test string Distributions 54 00 bob 26 and 0 30 5
  • 有没有简单的 awk/sed 方法来打印 YAML 文件中的列表?

    我正在寻找一种优化方法来使用 sed 或 和 awk 打印 YAML 文件中的特定列表 例如 在下面的示例 yaml 文件中 如何单独打印在屏幕上的水果列表 例如 以逗号分隔 输入文件 boston mart yaml 我能够使用 awk
  • 如何自动更新在powershell中运行的后台作业的数量?

    我在 powershell 中运行的后台作业很少 我正在尝试找到一种方法来获取作业 正在运行 和 已完成 的计数 一旦作业完成 该计数就会自动更新 function jobDetails d Get Job Measure Object P
  • 使用 json.dump 引发 JSONDecodeError("Extra data", s, end)

    我需要创建一个包含许多 json 的 json 文件 例如 我实际上可以创建该文件 但是当我尝试读取它时 出现此错误 raise JSONDecodeError Extra data s end JSONDecodeError Extra