我是一名测试开发工程师(全栈),作品有全终端自动化测试框架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>
封装函数后,可以供给项目使用,避免项目代码直接对三方函数产生依赖。这样,日后如果三方函数发生重大变革,只需要维护自己封装的函数,而大批量的项目代码无需改动,极大了降低了使用难度和维护成本。