博客
关于我
python3处理json文件中含有中文dumps的应用
阅读量:797 次
发布时间:2023-03-08

本文共 763 字,大约阅读时间需要 2 分钟。

Python3在处理字符串编码和文件存储时,通常使用UTF-8编码。以下是关于字符串与字节互相转换的过程,以及在处理JSON文件时遇到的问题及其解决方法。

首先,字符串在内存中以Unicode形式存储,而写入文件时使用UTF-8编码。以下是字符串与字节的转换过程:

str = "abc学习"mybyte = str.encode("utf-8")print(mybyte)  # 输出结果:b'abc\xxe5\xad\xa6\xxe4\xb9\xa0'str2 = mybyte.decode("utf-8")print(str2)   # 输出结果:'abc学习'

接下来,关于JSON文件存取的问题。假设我们有以下JSON字符串:

json_str = """{"a": " 1", "f": "100\n", "b": "好好学习"}"""

将其直接解析和存储可能会遇到编码问题。为了解决这些问题,可以使用以下方法:

  • 确保ASCII转义禁用:在使用json.dumps时,设置ensure_ascii=False,这样可以避免非ASCII字符被转义,从而保留原始字符。
  • json_data = json.loads(json_str, encoding="utf-8")dumps_str = json.dumps(json_data, ensure_ascii=False, indent=4)print(dumps_str)  # 输出结果:{    "f": "100\n",    "a": " 1",    "b": "好好学习"}
    1. 确保文件编码为UTF-8:在写入文件时,使用UTF-8编码,确保其他系统能够正确读取。
    2. 通过上述方法,可以确保JSON文件中的中文字符被正确存储和读取,而不会出现转义问题。

    转载地址:http://sflfk.baihongyu.com/

    你可能感兴趣的文章
    Python+Pytest+Allure+Git+Jenkins接口自动化框架
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    Python+pytest接口自动化 —— 接口测试基础
    查看>>
    python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
    查看>>
    Python+pytest接口自动化之cookie绕过登录(保持登录状态)
    查看>>
    python+pytest接口自动化:接口测试
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    python+requests+unittest执行自动化接口测试!
    查看>>
    Python+Requests编码识别Bug
    查看>>
    python函数编写_[零基础学python]传说中的函数编写条规
    查看>>
    Python+selenium —— UI自动化之鼠标操作
    查看>>
    python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
    查看>>
    Python+Selenium+Threading进行兼容性测试
    查看>>
    Python+selenium+unittest的GUI自动化框架实现
    查看>>
    python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
    查看>>
    python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
    查看>>
    Python+Selenium之数据驱动测试的实现
    查看>>
    python函数定义与使用+返回值简解
    查看>>