Python编程:demjson解析不规范的json字符串

简介: Python编程:demjson解析不规范的json字符串

先看几个例子

# -*- coding: utf-8 -*-
import json
# javascript中的对象
js_json = "{x:1, y:2, z:3}"
# python打印出来的字典
py_json1 = "{'x':1, 'y':2, 'z':3}"
# 解析不规则的json会报错
json.loads(js_json)
json.loads(py_json1)
# ValueError: Expecting property name: line 1 column 2 (char 1)
# 解析规则的json
py_json2 = '{"x":1, "y":2, "z":3}'
data = json.loads(py_json2)
print(data)
# {'y': 2, 'x': 1, 'z': 3}

python的json模块只能解析规则的json字符串,即字典的key要用双引号

没有双引号或者使用单引号都不能正常解析

虽然打印出来的字段带有单引号,但json中不使用单引号

使用demjson

安装

pip install demjson

代码示例

# -*- coding: utf-8 -*-
import demjson
js_json = "{x:1, y:2, z:3}"
py_json1 = "{'x':1, 'y':2, 'z':3}"
py_json2 = '{"x":1, "y":2, "z":3}'
data = demjson.decode(js_json)
print(data)
# {'y': 2, 'x': 1, 'z': 3}
data = demjson.decode(py_json1)
print(data)
# {'y': 2, 'x': 1, 'z': 3}
data = demjson.decode(py_json2)
print(data)
# {'y': 2, 'x': 1, 'z': 3}

demjson 能够正常解析不规范的json数据,效果还不错

参考

如何将原始javascript对象转换为python字典?

相关文章
|
安全 Windows
Antimalware Service Executable占CPU怎么解决?
Antimalware Service Executable占CPU怎么解决? Antimalware Service Executable导致电脑卡顿怎么解决? Antimalware Service Executable怎么关闭?
20248 1
|
4月前
|
数据采集 监控 API
淘宝京东拼多多通用电商 API 接口,数据抓取快人一步!
在电商市场中,通用电商 API 接口通过统一技术标准,打通淘宝、京东、拼多多等平台数据,具备跨平台兼容、数据标准化和实时抓取能力。它可应用于商品价格监控、详情获取、营销优化等场景,具有请求合并、反爬绕过、数据清洗等技术优势。相比单独开发接口,通用 API 实现了即开即用、零维护和实时更新。某服饰品牌接入后,价格监控效率提升 300%,缺货预警提前 48 小时,营销响应速度大幅提升。
349 1
|
Python
Python中字符串和数字相加
【6月更文挑战第3天】
1365 3
使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)
使用Vant框架的组件van-pull-refresh搭配van-list和van-card完成上滑加载更多列表数据,下拉刷新当前列表数据(等同于翻页功能)
|
存储 数据可视化 网络安全
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR) (一)
【最全面】SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决,提交PR)
2368 0
|
前端开发 JavaScript 开发工具
如何使用lerna进行多包(package)管理
如何使用lerna进行多包(package)管理
685 0
如何使用lerna进行多包(package)管理
springboot静态资源失效问题--已解决
springboot静态资源失效问题--已解决
springboot静态资源失效问题--已解决
|
存储 算法
趣学算法之分枝限界法
趣学算法之分枝限界法
230 0
|
机器学习/深度学习 算法
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)
ML之回归预测:利用十类机器学习算法(线性回归、kNN、SVM、决策树、随机森林、极端随机树、SGD、提升树、LightGBM、XGBoost)对波士顿数据集回归预测(模型评估、推理并导到csv)