python-非标准格式json文件读取报错解决办法
不是所有以.json结尾的文件,里面的数据都是标准的json格式。
如,以下名为countries.json文件中的数据格式,就是非标准化的json数据格式。
注:json标准格式中,字符串必须用双引号,此文件字符串为单引号。
在读取这类非标准格式的json文件时,使用python自带的json模块,将会报错如下:
import json
# json模块读取非标准格式json文件
with open('countries.json', 'r', encoding='utf-8') as f:data = json.load(f)print(data)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 1 (char 2)
解决办法:
使用python第三方模块demjson,该模块可以解决json模块的格式限制问题,还包含了 JSONLint 的格式化及校验功能。
demjson使用方法,如下:
1、demjson安装
打开命令提示符(cmd),进入到本地安装python环境的Scripts文件下,输入安装命令并回车,
安装命令:pip install demjson
2、json文件读取
demjson.decode_file(),读取非标准格式的json文件,返回一个字典(dict)格式数据。
如,以上非标准countries.json文件读取:
# 非标准格式json文件读取
import demjson
data = demjson.decode_file('countries.json', encoding='utf-8')
print(data)
print("返回值类型:", type(data))
注:可见,使用json模块读取非标准json文件出错时,可使用demjson第三方模块来解决。
微信关注【一位代码】,了解更多关于python相关问题解决办法。
-end-
python-非标准格式json文件读取报错解决办法相关推荐
- Python 打包项目生成exe文件大启动慢解决办法
目录 一 使用pyinstaller打包exe 1 首先安装pyinstaller 包 2 win+R,cmd 进度dos界面 3 进度代码目录内,然后使用pyinstaller -F main.py ...
- 安装wps导致 application/kset 上传文件类型报错解决办法
电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [us ...
- python 文件读取报错 ‘utf-8‘ codec can‘t decode
初学python遇到一个文件读取遇到问题 'utf-8' codec can't decode byte 0xb0 in position 611 我报错的写法 with open(filename, ...
- XML文件读取报错IOException parsing XML document from URL
问题 XML配置文件最上方约束引用了"http://www.springframework.org/dtd/spring-beans.dtd" 因为网络原因,无法访问上面的地址. ...
- “WGT安装包中manifest.json文件不存在”与解决办法
1.wgt不能文件重名 保证保存路径下的wgt名称唯一,可每次下载都创建一个名称唯一的文件夹来储存,避免重复.如用当前长整数类型的时间值作为文件名. plus.downloader.createDow ...
- json文件 乱码问题 根本解决办法
1 工具→自定义: 2 点击 命令 标签: 3 在上方单选区选中 菜单栏,下拉列表选 文件: 4 点击 添加命令 5 在类别中,找到文件,在右侧找到高级保存选项,确定 6 然后可以通过下移调整该选项在 ...
- 康泰克采样器Kontakt 5、6 For MAC 入库管理工具和非标准音色入库文件合集
Kontakt For MAC入库管理修改工具文件大全,基本包含了Kontakt MAC版本的入库所需. 包含以下文件: 1 – Native_Access_Installer.dmg > 官方 ...
- python 比较两个json文件
python 比较两个json文件 法1:利用json_tools类库中的方法 安装pip install json_tools 使用json_tools.diff(old,new) 输出 : new ...
- C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...
C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...
最新文章
- 样本不均衡常见解决方法
- 【转载】程序员有哪些电脑技能让外行感到神奇?
- 【高斯消元】球形空间产生器(luogu 4035/金牌导航 高斯消元-1)
- python 服务注册_python注册Windows服务
- mysql游标的用法及作用_Mysql 游标的用法及其作用
- ip在线代理网页联合早报_一次免费代理ip的爬取实战
- android类之间的关系,Android 中Activity,Window和View之间的关系
- mtk6765上i2c-tools的使用
- 阿里图标管理网站[iconfont.cn](iconfont.cn)的正确打开方式
- 思科交换机不同vlan互通
- 高射炮打蚊子丨在VS 2017里用C语言写经典的冒泡排序
- CSS控制背景颜色和背景图像的方法
- SketchUp插件可视化开发工具SketchUp Ruby Code Editor
- ffmpeg音视频处理
- Java1.5泛型指南中文版
- 如何成为一名JAVA(高级)工程师
- 施罗德: 以大数据技术洞悉投资先机,同时管理风险
- Logistic回归----葡萄酒案例
- 美味佳肴【可持久化线段树】【“纽劢科技杯”第十六届同济大学程序设计竞赛暨上海邀请赛.K题】
- 套利套保模型|BVAR、ECM、GARCH、价差