python字典保存为json后读取出错问题及解决

 更新时间:2024年02月24日 10:47:03   作者:xcliang9418  
这篇文章主要介绍了python字典保存为json后读取出错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python字典保存为json后读取出错

json.load()读取json文件数据时,报错:XXXXXXXXX。

是因为在json文件中的引号为单引号,json.load()只能识别双引号。

避免报错的方式有三种

1、从保存文件时入手,刚开始就避免json文件中写入单引号。

json文件之所以写入单引号,大概率是在写入数据时,直接str(dict_data)字典转字符串,这种遗留问题就是不能用json.load()读取,写的时候应该用:json.dump(dict_data,file),一次写入到json文件中的字典是双引号的。

2、如果不想更换写入方式,或者数据是别人的,难么可以换读取方式。使用内置模块ast的literal_eval方法:

import ast
ast.literal_eval(string)

3、直接使用python内置函数eval(string)

2和3的方法可以直接把字符串形式的json数据转为字典。

json文件转为str出现中文乱码问题

原来的代码是这样的

with open(fileName,'w',encoding='utf-8') as f:
    json.dump(AllResume,f)

当然用

temp = json.dumps(AllResume)
with open(fileName,'w',encoding='utf-8') as f:
    f.write(temp)
    f.close()

得到的也是一样的结果。

出现的结果如下:

这是因为json.dumps或者json.dump 序列化时对中文默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:

with open(fileName,'w',encoding='utf-8') as f:
    json.dump(AllResume,f,ensure_ascii=False)

此时得到的结果才是:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python脚本实现格式化css文件

    Python脚本实现格式化css文件

    这篇文章主要介绍了Python脚本实现格式化css文件,本文直接给出实现代码,实现把压缩后的CSS文件转换成正常可读的CSS格式,需要的朋友可以参考下
    2015-04-04
  • python中使用ctypes调用so传参设置遇到的问题及解决方法

    python中使用ctypes调用so传参设置遇到的问题及解决方法

    这篇文章主要介绍了python中使用ctypes调用so传参设置,本文较详细的给大家介绍了遇到问题及解决方案,需要的朋友可以参考下
    2019-06-06
  • Python 基于TCP 传输协议的网络通信实现方法

    Python 基于TCP 传输协议的网络通信实现方法

    网络编程指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信,本文重点给大家介绍Python 基于TCP 传输协议的网络通信实现方法,感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • Python-OpenCV中的cv2.inpaint()函数的使用

    Python-OpenCV中的cv2.inpaint()函数的使用

    大多数人会在家里放一些旧的退化照片,上面有一些黑点,一些笔画等。你有没有想过恢复它?本文就来介绍一下方法,感兴趣的可以了解一下
    2021-06-06
  • Python将PDF转换为HTML的实现方法

    Python将PDF转换为HTML的实现方法

    PDF文件是共享和分发文档的常用选择,但提取和再利用PDF文件中的内容可能会非常麻烦,本文重点介绍如何在Python程序中将PDF转换为HTML,文中有详细的代码示例,需要的朋友可以参考下
    2024-03-03
  • Python超越函数积分运算以及绘图实现代码

    Python超越函数积分运算以及绘图实现代码

    今天小编就为大家分享一篇Python超越函数积分运算以及绘图实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python re正则表达式模块(Regular Expression)

    python re正则表达式模块(Regular Expression)

    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,在文本解析、复杂字符串分析和信息提取时是一个非常有用的工具.
    2014-07-07
  • Python字符串对齐和判断方法汇总

    Python字符串对齐和判断方法汇总

    本教程将详细介绍Python中的字符串对齐方法以及字符串判断方法,这些方法在文本处理、格式化输出和字符串匹配中非常实用,无论你是Python初学者还是想要巩固基础知识的程序员,这篇教程都能帮助你全面理解这些操作,需要的朋友可以参考下
    2025-04-04
  • python简单实例训练(21~30)

    python简单实例训练(21~30)

    上篇文章给大家介绍了python简单实例训练的1-10,这里继续为大家介绍python的一些用法,希望大家每个例子都打出来测试一下
    2017-11-11
  • Python SSL证书验证问题解决方案

    Python SSL证书验证问题解决方案

    这篇文章主要介绍了Python SSL证书验证问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论