python3解析JSON之demjson

本文介绍了解析不规范JSON数据的方法,包括使用Python内置的json库遇到的问题及解决方案,并推荐使用demjson库进行非标准JSON的解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装好python之后自带的就有一个json解析库

使用 JSON 函数需要导入 json 库:import json

 

json.dumps将 Python 对象编码成 JSON 字符串
json.loads将已编码的 JSON 字符串解码为 Python 对象

但是有时我们会遇到不是很标准的JSON,这是这个库就无法解析了。例如:

 

{0:"000001_Unit_1. Hi,Birdie.mp3",1:"000005_Unit_2. Good morning,Miss Wang..mp3",2:"000008_Unit_3. What's your name_.mp3"}

细心的朋友会看出来这里 “键”没有引号 只有“值”有引号。

 

那么怎么办呢,这时我们就可以使用 demjson来解析

安装:

 

pip install demjson
encode将 Python 对象编码成 JSON 字符串
decode将已编码的 JSON 字符串解码为 Python 对象

 

但是值得注意的是 demjson 和 json 在将json对象转python对象时 中文会变成 unicode 格式。这对以后的数据处理造成很多不必要的麻烦。

例如:
"\u5c71\u6d77\u5e08"

在你按条件查询这个字段的时候就会发现查找不到。

处理方法就是要将字典中的中文正确的输出,可以将list转换成json字符串,转换时使用

json.dumps(d, ensure_ascii=False, encoding='utf-8'))

参数ensure_ascii=False不能少, encoding可以省略,因为默认就是encoding='utf-8'

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能-肥鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值