像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 并且知道原因,或者有一些猜测,都烦请告诉我一下,因为知其然才能进步。

希望能帮到有需要的人~

相关推荐
学测绘的小杨10 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz31016 小时前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐17 小时前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海1 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理