Python.json.常见两个错误处理(Expecting , delimiter)(Invalid control character at)

json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx) 将python json字符串转为json的时候出现了:json.decoder.JSONDecodeError: Expecting ',' delimiter: line 12 column 55 (char 346) 1、核心源代码 #将字符串json转换为json对象 dataJson=json.loads(jsonStr, strict=False) 2、问题原因: 将字符串作为字符串文字复制粘贴到Python源代码中,出现错误。 3、解决办法: 在这种情况下... 阅读详情
AI摘要

本文介绍了在处理JSON数据时常见的ValueError错误及其原因,并提供了几种有效的解决策略,包括转义特殊字符、调整JSON解析器的严格模式以及使用正则表达式来修复不规范的JSON数据。

ValueError: Invalid control character at: line 1 column 122(char 123)

出现错误的原因是字符串中包含了回车符(\r)或者换行符(\n)
解决方案:

  • 转义
json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')
  • 使用关键字strict
json.loads(json_data, strict=False)

ValueError: Expecting , delimiter: line 13 column 650 (char 4186)

原因:json数据不合法,类似"group_buy_create_description_text": "1. Select the blue “Buy” button to let other shoppers buy with you.这样的内容出现在json数据中。
解决方案:
将类似的情形通过正则筛选出来通过下面的方式处理。
正则表达式如下:

json_data = json_data.replace('""', '"########"')
js_str = '"[\s\S]+?":\s?"([\s\S]+?)"\}?\}?\]?,'

后续使用中发现无法匹配value为空的情况,故先做一下预处理
这个正则可以匹配到大部分的key,value中的value值,但是也有例外,暂时的处理方法是如果匹配结果中包含"{", “}”, “[”, "]"这样的字符,说明是匹配失败结果,跳过处理。其他的使用下边的方法替换掉可能出问题的字符。
如果大家有更好的正则匹配方式,欢迎随时批评指正。

def htmlEscape(input):
    if not input:
        return input
    input = input.replace("&", "&")
    input = input.replace("<", "&lt;")
    input = input.replace(">", "&gt;")
    input = input.replace(" ", "&nbsp;")
    input = input.replace("'", "&#39;")   # IE暂不支持单引号的实体名称,而支持单引号的实体编号,故单引号转义成实体编号,其它字符转义成实体名称
    input = input.replace("\"", "&quot;") #双引号也需要转义,所以加一个斜线对其进行转义
    input = input.replace("\n", "<br/>")  #不能把\n的过滤放在前面,因为还要对<和>过滤,这样就会导致<br/>失效了
    return input
基于 openEuler 24.03 LTS 源码编译安装 Zabbix 7.4 Zabbix是一款开源的企业级分布式监控系统,支持网络、服务器、应用等多种IT资源的监控。核心功能包括数据采集、告警通知、可视化展示等,采用Server/Agent架构,支持多种操作系统。本文详细介绍了在openEuler 24.03系统上部署Zabbix 7.4.2的完整流程,包括环境准备、MySQL配置、PHP/Apache安装、Zabbix编译安装等步骤,为构建企业级监控系统提供了实践指导。 阅读详情

相关推荐

MacOS蓝牙连接疑难杂症:从基础排查到高级修复全攻略

本文提供了一份全面的MacOS蓝牙故障排查与修复指南。从基础的菜单栏检查、终端命令诊断,到软/硬重启蓝牙服务、删除配置文件,再到使用blueutil工具、重置NVRAM等高级方法,系统性地解决了蓝牙无法连接、连接不稳定等常见问题。最后还分享了环境干扰排查、预防措施及硬件故障自检方法,帮助用户彻底解决Mac蓝牙连接难题。

weixin_29271263的博客 449

python中json.loads报错: Expecting ‘,‘ delimiter: line 1 column 3545 (char 3544)

在python中使用json.loads报错: Expecting ',' delimiter: line 1 column 3545 (char 3544) 原因: json字符串为: jsonStr = "params": {"param2":"[ type:\"B\", ms:\"E\", t:\"243\"]" 我的param2的参数值其实是二次封装成的字符串,但是json.loads()在解析时,把param2中的\"解析为了一个转义的双引号("),导致整体解析失败。 解法: 在解析

willgon的专栏 1万+

SRC漏洞挖掘实战:从攻击面管理到业务逻辑漏洞的精准狩猎

在网络安全领域,漏洞挖掘是识别和利用软件系统中安全弱点的核心实践。其基本原理在于通过系统化的方法,识别和评估一个应用或系统的攻击面,并从中定位安全防护的薄弱环节。这项技术的价值在于能够主动发现潜在风险,防患于未然,对于保障企业数字资产安全至关重要。典型的应用场景包括对Web应用、移动端API以及各类在线业务系统的安全性评估。在实际的漏洞挖掘,尤其是针对安全应急响应中心(SRC)的实战中,高效的策略往往聚焦于**边缘资产**的发现与利用,以及对**业务逻辑漏洞**的模式化测试。掌握这些经过验证的思路,能帮助安

babing2770的博客 413

json.loads()报错处理

# coding=utf-8 import json, re a = '''{"bulletAttributes":["A-line silhouette with a relaxed fit.","High waisted.","Hits at the upper calf.","Model is 5'9" (176 cm), size S, wearing a regular Gap s...

sydjcwx 2357

Android12 车载开发TaskView实现分屏

这里只给出TaskView的代码,相关联的源码,请看源码,如果想要使用TaskView需要自己去编译frameWork的源码,打包一个aar,或者jar出来使用,否则无法直接使用。1.如果分屏的应用如启动两个应用按照权重占比,互相不叠加在一起,点触摸击事件都可响应,例如左边启动QQ了,右边启动的是微信,二者窗口都可操作。TaskView是谷歌整合安卓多任务多窗口下交互重新重构的独立出来的module,本身继承自ServiceView,TaskView的相关概念性的东西参考。//创建的taskview。

android_bird_bird的博客 9548

opencv读取海康威视摄像头相关配置

1、开发环境 海康威视的网络摄像头使用: 开发工具:vs2015 C++ 海康SDK 2、相关操作 下载海康威视SDK:网址:http://www.hikvision.com/cn/download_61.html • 1:对照自己的开发平台可以下载设备网络SDK_Win32设备网络SDK_Win64,解压到本地文件下: • 2:VS配置 、Opencv配置。参考址 http://blog.csdn.net/poem_qianmo/article/details/19809337 (建议自己创

HMJ115的博客 984

python中json.loads报错valueerror,Python json.loads显示ValueError:Expecting,Delimiter:Line 1...

I'm trying to read a json file of tweets but i keep getting this errorValueError: Expecting , delimiter: line 1 column 537 (char 536)Code:import jsonimport pandas as pdimport matplotlib.pyplot as plti...

weixin_39531761的博客 1321

Codex 100个真实案例 - 全系列总结与Codex最佳实践全解析

历经100个案例的淬炼,我们终于来到了终点!本篇是整个系列的压轴之作——全面回顾100个案例的分类统计、提炼Codex使用的核心技巧和最佳实践、总结Prompt工程的精华要点、剖析常见错误及解决方案、展望AI编程的未来趋势,并为不同水平的读者规划学习路径。这不仅是一篇总结,更是一本Codex实战手册!

yueyeguzhuo的专栏 135

解决json.loads()错误Expecting ‘,‘ delimiter: line 1 column

python解决json.loads()的错误Expecting ',' delimiter: line 1 column

weixin_53181317的博客 1万+

YOLOv8魔改系列:将CIoU替换成Wise-IoU,飞速涨点

将YOLOv8中CIoU替换成Wise-IoU,实现飞速涨点

qq_66386046的博客 2678

深度强化学习 | 基于SAC算法的移动机器人路径跟踪(附Pytorch实现)

软性演员-评论家(Soft Actor-Critic, SAC)算法是基于最大熵原理的离线策略方法,本节将基于深度强化学习中的SAC算法实现移动机器人的路径跟踪,介绍网络设计、动作空间设计和奖励函数设计,并提供Pytorch实现加深理解

FRIGIDWINTER的博客 5732

python中json报错:json.decoder.JSONDecodeError: Invalid control character at: line 2 column 18 (char 19)...

一、json.loads(json_data) 报错json.decoder.JSONDecodeError: Invalid control character at: line 2 column 18 (char 19) 原因:json默认使用的是严谨格式,当跨语言传递数据时,就容易报出这个错误。 解决方法:加上参数 strict json.loads(json_...

amelia1995的博客 2971

STM32F407驱动OV2640摄像头全栈解析:DCMI+DMA+SCCB协同设计

图像采集是嵌入式视觉系统的基石,其核心在于传感器与MCU间的数据通路构建。原理上需理解并行接口(如DCMI)的硬件同步捕获机制、串行控制总线(如SCCB/I²C)的寄存器级配置逻辑,以及DMA在高吞吐数据搬运中的关键作用。技术价值体现在解放CPU、保障实时性、降低功耗,并支撑JPEG压缩与RGB565直显等差异化应用。典型场景包括智能终端实时预览、低带宽图像上传、工业现场视频监控及教学实验平台搭建。本文以STM32F407与OV2640集成实践为载体,深入剖析DCMI时序约束、SCCB软件模拟实现及DMA循

weixin_36151775的博客 179

处理json文件时遇到的坑

写好代码,运行json.loads()的时候会出现下面几个错误: 错误1:JSONDecodeError: Expecting ',' delimiter: line 1 column 658 (char 657) 这个错误的意思是你的数据格式并不符合json的格式要求 可以使用json格式化工具进行格式化检验,格式化工具有https://www.json.cn/和https://www.bejson.com/ 因此需要检查数据中是否存在"'"这样的情况, 比如:"an utterance of

sarracode的博客 4420

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JSON错误JSONDecodeError: Expecting delimiter解决方案

(作者:www.data-master.net 数据极)

小白白的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python中json.loads报错valueerror_【已解决】Python中json.loads出错:ValueError: Expecting , delimiter: line 1 col...

标签:LINE 147 DEBUG photoInfoJson={id:’4015182-85924357′,owner:’4015182′,ownername:’sinaweibo723506601′,title:’Scene: crouching tiger, hidden dragon’,description:”,bucket:’sinaweibo723506601′,key:’...

weixin_35715118的博客 2238

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python加载json文件报错

python处理json文件: json.dump :将数据转换成json文件 json.load :将json文件加载为数据 json.dumps: 将数据类型转换为json格式字符串 json.loads:将json字符串转换为数据类型 在加载json文件的时候遇到如下错误: 1、JSONDecodeError: Expecting ‘,’ delimiter: line 13 column 5 (char 998) 问题解决: 打开文件,进行查看,发现有一行没有逗号,将逗号进行添加后,出现了下面错

Shine_Su的博客 1555

python中引入json文件报错:json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 1780 (char 17

昨天还可以正常运行的python文件今天突然报错,十分心累之,检查完后发现是爬虫的网页代码变了引起。需要配合修改之前的正则,好歹改完成功运行了

wj的博客 2万+

Mysql实战中的一些小tips

'["1.0"大尺寸CMOS 约2020万有效像素", "F1.8-2.8大光圈,24mm广角+4.2倍光学变焦镜头,5cm微距", "Wi-Fi影像分享,NFC近场通信,更方便的遥控拍摄", "汇集多种模式,丰富你的拍摄构思", "机身搭载取景器,更专业与更舒适的拍摄体验”]'2. 从数据库读取json.dumps的字段后,直接使用json.loads()转换,出现错误:Expecting ',' delimiter: line 1 column 7 (char 6)

u010483897的博客 786

python3编码得到中文_Python3中如何得到Unicode码对应的中文?

建议:当 response 是 json 格式的时候,使用json.dumps(response, ensure_ascii=False)如果 response 是字符串,就先json.loads,再json.dumps。尽量不要像其他答主提到的那样,更换编码类型。原因在于,一旦 encode 和 decode 的编码类型不同,很可能就没法再使用json.loads解析了。(我遇到的坑)代码:im...

weixin_39601657的博客 330

json.decoder.JSONDecodeError: Expecting value: line 2 column 19 (char 20)

python中使用json.load()打开‘.json’文件时报错 一开始以为是json文件中有中文出现了编码错误,全改成英文后仍然报错。 再挣扎着在open函数内加入“ encoding=‘utf-8’ ”, 还是报这个错。 网上搜了很多资料发现’.json’文件里面字母基本都是小写,定位到报错位置发现确实我布尔值全是首字母大写的(python的习惯),改成小写后解决问题。 ...

fenmisiyecao的博客 731

conda create新建环境失败报错:An unexpected error has occurred. Conda has prepared the above report.

问题描述: 在Anaconda Prompt (anaconda3)中使用conda create命令新建环境报错如下: (base) D:\OneDrive\桌面>conda create -n my_env python==3.8 Collecting package metadata (current_repodata.json): failed # >>>>>>>>>>>>>>>>>>

MSTIFIY的博客 1万+

pythonjson数据解析失败_为什么Python无法解析此JSON数据? [关闭]

我在文件中有此JSON:{"maps": [{"id": "blabla","iscategorical": "0"},{"id": "blabla","iscategorical": "0"}],"masks": ["id": "valore"],"om_points": "value","parameters": ["id": "valore"]}我编写了以下脚本来打印所有JSON数据:imp...

weixin_36457572的博客 1884

Expecting ',' delimiter: line 1 column 2949

Expecting ‘,’ delimiter: line 1 column 2949 在爬虫中出现这种错误 请问该怎么解决

chenkeai的博客 2275
上一篇: vim指令详解
下一篇: LeetCode.7.Reverse Integer
BishopTylaor
博客等级 码龄10年 9粉丝 48原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值