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 inputinput = input.replace("&", "&amp;")input = input.replace("<", "&lt;")input = input.replace(">", "&gt;")input = input.replace(" ", "&nbsp;")input = input.replace("'", "'")   # IE暂不支持单引号的实体名称,而支持单引号的实体编号,故单引号转义成实体编号,其它字符转义成实体名称input = input.replace("\"", "&quot;") #双引号也需要转义,所以加一个斜线对其进行转义input = input.replace("\n", "<br/>")  #不能把\n的过滤放在前面,因为还要对<和>过滤,这样就会导致<br/>失效了return input

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

  1. python 语法错误 和异常_Python基础知识:新手学Python时常见的语法错误和异常

    大家好,今天我们简单介绍下在学习Python时常见的一些错误和异常. 记得刚接触Python的时候,一条简单的语句在执行的时候却总能遇到报错.然后各种艰难的复查发现可能是循环语句缺少冒号啊.用了中文的 ...

  2. navicate导入sql时出现错误error:1300 - Invalid utf8 character string: 'D7D4D4'

    navicate导入sql时出现错误error:1300 - Invalid utf8 character string: 'D7D4D4' powerdesign生成的sql文件,导入不了. 根据错 ...

  3. [python]json.loads 几种错误 解决方案

    1. json.loads Python错误: 'utf8' codec can't decode byte ... 由于需求,要用python读取网页返回json,并取得其中的数据但是却遇到以上编码 ...

  4. python中常见的异常错误

    IOError.AttributeError.ImportError.IndentationError.IndexError.KeyError.SyntaxError.NameError分别代表什么异 ...

  5. python常见的语法错误_python常见语法错误有什么

    本文主要整理了Python中常见的语法错误,需要的小伙伴可以学习. 1:TypeError: must be str, not int 类型错误name = '小王' age = 20 print(' ...

  6. python语法报错原因_python萌新最常见5大错误

    Python 小萌新最常见 5 大错误的: 1. invalid syntax 报错原因:语法错误 首先这个时候需要检查语法是否有用错,如果报错行没有发现错误,通常在相 邻行会出现问题,这个时候就要检 ...

  7. Python json和simplejson的使用

    Python json和simplejson的使用 在Python中,json数据和字符串的转换可以使用json模块或simplejson模块. json从Python2.6开始内置到了Python标 ...

  8. Python中报错Invalid return character or leading space in header: Cookie

    问题描述:在Python中组装请求头进行post请求时报以下错误: raise InvalidHeader("Invalid return character or leading spac ...

  9. python JSON ValueError: Expecting property name: line 1 column 2 (char 1)

    python JSON ValueError: Expecting property name: line 1 column 2 (char 1) 使用json.loads,解析以下数据为json格式 ...

  10. 电脑编程python老是出现错误_python常见的编程错误

    常见的编程错误2.1 试图访问一个未赋值的变量,会产生运行时错误. 常见的编程错误2.2 ==,!=, >=和<=这几个运算符的两个符号之间出现空格,会造成语法错误. 常见的编程错误2.3 ...

最新文章

  1. 爱好历史的程序员,不容错过!
  2. 虚拟与现实的距离——VR的2016正如移动互联网的2009【下篇】
  3. 数据结构——树与二叉树
  4. fwrite、write、fread、read
  5. DNN结构演进History—CNN-GoogLeNet :Going Deeper with Convolutions
  6. iphone全部机型_iPhone 12 销量或创 iPhone 6 以来最高|iphone|郭明錤
  7. Python实战从入门到精通第十八讲——改变对象的字符串显示
  8. 本地数据库_干货|本地数据库调用的实现案例
  9. ArcGIS JS API 4 —— GET https://static.arcgis.com/fonts/simsun-regular/37888-38143.pbf 404
  10. servlet中web.xml配置
  11. 四阶龙格库塔法求解微分方程【MATLAB】
  12. Docker概述(一)(标贝科技)
  13. c语言字符串转为大写,c语言 字符串转大写的简单实例
  14. (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  15. 静电除尘器工作原理应用实训教学QY-HJGC03
  16. python 调用另一个python文件
  17. 【vue3引入高德地图】
  18. 树立品牌价值标杆,维谛技术(Vertiv)荣膺“中国电气工业100强”殊荣
  19. WinCC flexible Smart V3 SP2软件安装具体方法和步骤_常见问题处理
  20. “一万小时定律”:只要你在任何一件事情上花1万小时来练习,就会成为大师[转载]

热门文章

  1. 物联卡Iccid号码编码规则
  2. 在Codesys用ST语言基于链表实现栈LIFO数据结构详细说明+代码实例
  3. ASUS C302C Chromebook Windows声卡驱动
  4. 2021-2027全球与中国智能访客管理系统市场现状及未来发展趋势
  5. DAY9 :划词翻译字典 goldendict 使用教程
  6. Python 在线编译器简单实现
  7. python 计算gdp_菜鸟笔记Python3——数据可视化(三)世界GDP分析
  8. Crowd 和 JIRA、Confluence、Fisheye and Crucible共享账户集成登入
  9. crucible VS gerrit
  10. firefox新标签页背景_如何更改或自定义Firefox的“新标签页”