不是所有以.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文件读取报错解决办法相关推荐

  1. Python 打包项目生成exe文件大启动慢解决办法

    目录 一 使用pyinstaller打包exe 1 首先安装pyinstaller 包 2 win+R,cmd 进度dos界面 3 进度代码目录内,然后使用pyinstaller -F main.py ...

  2. 安装wps导致 application/kset 上传文件类型报错解决办法

    电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [us ...

  3. python 文件读取报错 ‘utf-8‘ codec can‘t decode

    初学python遇到一个文件读取遇到问题 'utf-8' codec can't decode byte 0xb0 in position 611 我报错的写法 with open(filename, ...

  4. XML文件读取报错IOException parsing XML document from URL

    问题 XML配置文件最上方约束引用了"http://www.springframework.org/dtd/spring-beans.dtd" 因为网络原因,无法访问上面的地址. ...

  5. “WGT安装包中manifest.json文件不存在”与解决办法

    1.wgt不能文件重名 保证保存路径下的wgt名称唯一,可每次下载都创建一个名称唯一的文件夹来储存,避免重复.如用当前长整数类型的时间值作为文件名. plus.downloader.createDow ...

  6. json文件 乱码问题 根本解决办法

    1 工具→自定义: 2 点击 命令 标签: 3 在上方单选区选中 菜单栏,下拉列表选 文件: 4 点击 添加命令 5 在类别中,找到文件,在右侧找到高级保存选项,确定 6 然后可以通过下移调整该选项在 ...

  7. 康泰克采样器Kontakt 5、6 For MAC 入库管理工具和非标准音色入库文件合集

    Kontakt For MAC入库管理修改工具文件大全,基本包含了Kontakt MAC版本的入库所需. 包含以下文件: 1 – Native_Access_Installer.dmg > 官方 ...

  8. python 比较两个json文件

    python 比较两个json文件 法1:利用json_tools类库中的方法 安装pip install json_tools 使用json_tools.diff(old,new) 输出 : new ...

  9. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...

    C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...

最新文章

  1. 样本不均衡常见解决方法
  2. 【转载】程序员有哪些电脑技能让外行感到神奇?
  3. 【高斯消元】球形空间产生器(luogu 4035/金牌导航 高斯消元-1)
  4. python 服务注册_python注册Windows服务
  5. mysql游标的用法及作用_Mysql 游标的用法及其作用
  6. ip在线代理网页联合早报_一次免费代理ip的爬取实战
  7. android类之间的关系,Android 中Activity,Window和View之间的关系
  8. mtk6765上i2c-tools的使用
  9. 阿里图标管理网站[iconfont.cn](iconfont.cn)的正确打开方式
  10. 思科交换机不同vlan互通
  11. 高射炮打蚊子丨在VS 2017里用C语言写经典的冒泡排序
  12. CSS控制背景颜色和背景图像的方法
  13. SketchUp插件可视化开发工具SketchUp Ruby Code Editor
  14. ffmpeg音视频处理
  15. Java1.5泛型指南中文版
  16. 如何成为一名JAVA(高级)工程师
  17. 施罗德: 以大数据技术洞悉投资先机,同时管理风险
  18. Logistic回归----葡萄酒案例
  19. 美味佳肴【可持久化线段树】【“纽劢科技杯”第十六届同济大学程序设计竞赛暨上海邀请赛.K题】
  20. 套利套保模型|BVAR、ECM、GARCH、价差

热门文章

  1. 国际知名服装品牌网站整理
  2. js输入两个数,求最小公倍数和最大公约数
  3. 九、propTypes验证
  4. 项目规划管理 - 3
  5. 南理文字RPG Four
  6. docker 镜像使用
  7. LeetCode 713. 乘积小于 K 的子数组
  8. python写的飞船游戏卡顿_关于pygame里让飞船连续移动的问题?
  9. 自筹资金成功创业者经验
  10. Android--(三星手机)webview嵌套H5,点击H5按钮跳转手机拍照,横屏拍照导致失败或崩溃问题