读取Json BugFix

遇到的错误如下所示:

bash 复制代码
遇到的错误如下所示:

File ~/miniconda3/lib/python3.9/json/decoder.py:353, in JSONDecoder.raw_decode(self, s, idx)
    344 """Decode a JSON document from ``s`` (a ``str`` beginning with
    345 a JSON document) and return a 2-tuple of the Python
    346 representation and the index in ``s`` where the document ended.
   (...)
    350 
    351 """
    352 try:
--> 353     obj, end = self.scan_once(s, idx)
    354 except StopIteration as err:
    355     raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: Expecting property name enclosed in double quotes: line 54022608 column 6 (char 987758592)

网上查询这个错误是JSon里面的双引号搞成了单引号,故作相应的替换;

将单引号替换为双引号,下面为相应的代码:

python 复制代码
# 导入Python的JSON模块,该模块提供了解析JSON的函数  
import json  
  
# 定义要读取的JSON文件的路径  
json_path  = './example.json'  
  
# 使用with语句打开文件,这样可以确保文件在读取后会被正确关闭  
with open(json_path,'r') as f:  
  
    # 使用json模块的load函数从文件中读取JSON数据,并将其解析为Python对象  
    output = json.load(f)  
      
    # 使用json模块的dumps函数将Python对象转换为JSON格式的字符串  
    json_str = json.dumps(output)   
  
    # 使用字符串的replace函数将所有的单引号替换为双引号。这一步其实是不必要的,因为json模块在解析和生成JSON时默认使用双引号。  
    json_str = json_str.replace("'", "\"")  
  
    # 再次使用json模块,这次使用loads函数将修改后的JSON字符串重新解析为Python对象  
    json_obj = json.loads(json_str)   
  
    # 使用with语句打开一个新的文件用于写入,这个文件被命名为'replace.json'  
    with open('./replace.json','w+') as f:  
        # 使用json模块的dump函数将Python对象写入文件,参数indent设置为2表示生成的JSON数据将采用缩进格式,便于阅读  
        json.dump(json_obj, fp=f, indent=2)

水平有限,有问题随时交流~

相关推荐
呱呱复呱呱2 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽7 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码7 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱17 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵19 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维