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学习之字符串常用方法总结

    Python学习之字符串常用方法总结

    这篇文章主要为大家介绍了Python中字符串的几个常用方法总结,文中的示例代码讲解详细,对我们学习Python字符串有一定帮助,需要的可以参考一下
    2022-03-03
  • Python如何对音视频文件进行解析详解

    Python如何对音视频文件进行解析详解

    在脚本或应用程序中,我们需要执行音频处理任务,下面这篇文章主要给大家介绍了关于Python如何对音视频文件进行解析的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • python写的ARP攻击代码实例

    python写的ARP攻击代码实例

    这篇文章主要介绍了python写的ARP攻击代码实例,需要的朋友可以参考下
    2014-06-06
  • Django实现学员管理系统

    Django实现学员管理系统

    这篇文章主要为大家详细介绍了Django实现学员管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • django 取消csrf限制的实例

    django 取消csrf限制的实例

    这篇文章主要介绍了django 取消csrf限制的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • TENSORFLOW变量作用域(VARIABLE SCOPE)

    TENSORFLOW变量作用域(VARIABLE SCOPE)

    这篇文章主要介绍了TENSORFLOW变量作用域(VARIABLE SCOPE),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python画柱状统计图操作示例【基于matplotlib库】

    Python画柱状统计图操作示例【基于matplotlib库】

    这篇文章主要介绍了Python画柱状统计图操作,结合实例形式分析了Python基于matplotlib库实现图形绘制的相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Linux下使用python自动修改本机网关代码分享

    Linux下使用python自动修改本机网关代码分享

    这篇文章主要介绍了Linux下使用python自动修改本机网关代码分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05
  • Python标准库sched模块使用指南

    Python标准库sched模块使用指南

    这篇文章主要介绍了Python标准库sched模块使用的相关资料,需要的朋友可以参考下
    2017-07-07
  • Python中mmap模块处理大文本的操作方法

    Python中mmap模块处理大文本的操作方法

    这篇文章主要介绍了Python中mmap模块(处理大文本),将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存映射读写取代I/O缓存读写,以获得较高的性能,需要的朋友可以参考下
    2023-02-02

最新评论