python3解析JSON之demjson

安装好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'

 

 

你可能感兴趣的:(Python)