像JSONDecodeError: Extra data: line 2 column 1 (char 134)这样的问题怎么解决

问题介绍

今天处理返回的 JSON 的时候,出现了下面这样的问题:

处理这种问题的时候,首先你要看一下当前的字符串格式是啥样的,比如我查看后发现是下面这样的:

会发现这个字符串中间没有逗号,也就是此时的JSON格式不对。用字节模式查看发现只有一个换行符:

解决方案

我找到的方法是用 Pandas 包,它有个行模式,这样可以获取这种情况的 JSON 字典(dictionary):

python 复制代码
import pandas as pd
df = pd.read_json(ret.text, lines=True)

我只找到这种方法解决这个问题。JSON 包解决不了这个问题,无论是写成文件再读,或者去替换字符串中的换行符,然后再获取,这样还是不行。我试了很多方法,只有 Pandas 奏效,这是什么原因呢?

目前我并不清楚,如果你熟悉 Python 并且知道原因,或者有一些猜测,都烦请告诉我一下,因为知其然才能进步。

希望能帮到有需要的人~

相关推荐
兵慌码乱3 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot5 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海9 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱12 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽17 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码17 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python