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

 更新时间:2024年02月24日 10:47:03   作者:xcliang9418  
这篇文章主要介绍了python字典保存为json后读取出错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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串口如何读取byte类型数据并访问

    python串口如何读取byte类型数据并访问

    这篇文章主要介绍了python串口如何读取byte类型数据并访问方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python实现自动化处理PDF文件的方法详解

    Python实现自动化处理PDF文件的方法详解

    这篇文章主要为大家详细介绍了如何使用Python完成简单的PDF文件处理操作,如PDF文件的批量合并、拆分、加密以及添加水印等,需要的可以参考一下
    2022-09-09
  • Python LMDB库的使用示例

    Python LMDB库的使用示例

    这篇文章主要介绍了Python LMDB库的使用示例,帮助大家更好的利用python处理数据库,感兴趣的朋友可以了解下
    2021-02-02
  • python 串口读取+存储+输出处理实例

    python 串口读取+存储+输出处理实例

    今天小编就为大家分享一篇python 串口读取+存储+输出处理实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python使用pandas模块实现表之间的关联

    Python使用pandas模块实现表之间的关联

    在数据分析和处理中,表之间的关联是非常常见的操作,本文为大家介绍了pandas中实现表之间的关联有四种方式,感兴趣的小伙伴可以了解一下
    2023-07-07
  • Django项目定期自动清除过期session的2种方法实例

    Django项目定期自动清除过期session的2种方法实例

    如果用户主动退出,session会自动清除,如果没有退出就一直保留,记录数越来越大,要定时清理没用的session,下面这篇文章主要给大家介绍了关于Django项目定期自动清除过期session的2种方法,需要的朋友可以参考下
    2022-08-08
  • python中set()函数简介及实例解析

    python中set()函数简介及实例解析

    这篇文章主要介绍了python中set()函数简介及实例解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python2与Python3的区别实例分析

    Python2与Python3的区别实例分析

    这篇文章主要介绍了Python2与Python3的区别,结合实例形式分析了Python2与Python3在输出、编码、函数、运算等操作的常见区别与使用技巧,需要的朋友可以参考下
    2019-04-04
  • 详解如何使用OpenCV和像素处理图像灰度化

    详解如何使用OpenCV和像素处理图像灰度化

    这篇文章主要为大家介绍了如何使用OpenCV和像素处理图像灰度化的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • TensorFlow实现简单线性回归

    TensorFlow实现简单线性回归

    这篇文章主要为大家详细介绍了TensorFlow实现简单线性回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论

?


http://www.vxiaotou.com