【python函数】string和json的互转函数封装

我是一名测试开发工程师(全栈),作品有全终端自动化测试框架wyTest未羽研发测试管理平台,欢迎同行交流。

一、主要涉及2个方法:
  • json.loads:将字符串转换成JSON
  • json.dumps:将JSON转换成字符串
二、封装成方便维护使用的函数:
#!/usr/bin/env/python3
# coding=utf-8
# @Time : 2024-06-28 23:07:14
# @Author : weiyv_cn@163.com
# @File : dataFun.py
# @模块 : 数据处理

import json

class DataFun:

    # <editor-fold str转json>
    @staticmethod
    def str_to_json(txt: str):
        """
        @功能: str转json
        @调用: DataFun.str_to_json
        
        :param txt: 必选;string类型;需要转json的文本内容;
        :return: string类型
        """
        try:
            data = json.loads(txt)
        except:
            # data = txt
            data = {}
        return data
    # </editor-fold>

    # <editor-fold json转str>
    @staticmethod
    def json_to_str(data: dict, separators=(',', ':'), indent: str = " ", sort_keys: bool = False):
        """
        @功能: json转str
        @调用: DataFun.json_to_str
        
        :param data: 必选;dict类型;json数据;
        :param separators: 可选;tuple/None类型;换行标志,默认 (',', ':');
        :param indent: 可选;string类型;换行缩进,默认2个空格;
        :param sort_keys: 可选;bool类型;键值排序,默认 否;
        :return: string类型
        """
        if separators is None:
            indent = None
        txt = json.dumps(data, ensure_ascii=False, separators=separators, indent=indent, sort_keys=sort_keys)
        return txt
    # </editor-fold>

封装函数后,可以供给项目使用,避免项目代码直接对三方函数产生依赖。这样,日后如果三方函数发生重大变革,只需要维护自己封装的函数,而大批量的项目代码无需改动,极大了降低了使用难度和维护成本。

相关推荐

  1. vue json字符串Hex

    2024-07-21 01:56:02       44 阅读
  2. Pythonjson.dumps()函数详解示例

    2024-07-21 01:56:02       63 阅读
  3. QT : Bson\Json

    2024-07-21 01:56:02       66 阅读
  4. python字节串数字

    2024-07-21 01:56:02       39 阅读
  5. 【maskjson】文件

    2024-07-21 01:56:02       78 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 01:56:02       132 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 01:56:02       146 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 01:56:02       122 阅读
  4. Python语言-面向对象

    2024-07-21 01:56:02       132 阅读

热门阅读

  1. PHP项目开发流程概述

    2024-07-21 01:56:02       26 阅读
  2. Go知识点记录

    2024-07-21 01:56:02       29 阅读
  3. DAY05 CSS

    DAY05 CSS

    2024-07-21 01:56:02      31 阅读
  4. MacOS命令行运行fortran程序|编程私教解答

    2024-07-21 01:56:02       30 阅读
  5. 类与对象-多态-案例3-电脑组装具体实现

    2024-07-21 01:56:02       29 阅读
  6. OpenPyXL 写入 Excel 文件

    2024-07-21 01:56:02       28 阅读
  7. 量化机器人如何实现无缝交易?

    2024-07-21 01:56:02       26 阅读
  8. Redis 深度历险:核心原理与应用实践 - 读书笔记

    2024-07-21 01:56:02       24 阅读