Loading

Python 压缩转义

import json

data = [{
    "key": "1.0.1",
    "token": "zlsj",
    "appid": 20386
}, {
    "key": "1.0.2",
    "token": "zlj",
    "appid": 20321
}]


if isinstance(data, str):
    pass
elif isinstance(data, list):
    _iterable = enumerate(data)
    group = []
    for key, value in _iterable:
        # 将 value 转为 JSON 字符串
        json_string = json.dumps(value, separators=(",", ":"), ensure_ascii=False, indent=None)

        # 如果你要的是“带转义引号”的字符串(比如用于拼接 JSON),再加一层引号并转义
        # 即:变成 '"{...}"' 形式(字符串,包含外层引号和内部转义)
        escaped_json_string = json.dumps(json_string, separators=(",", ":"), ensure_ascii=False, indent=None)
        print(f"Key: {key}")
        print(f"Value: {escaped_json_string}")
        print("-" * 50)
        group.append(escaped_json_string.strip("\""))

    mergeData = ",".join(group)
    print(f"list merge: \"[{mergeData}]\"")

    json_string = json.dumps(data, separators=(",", ":"), ensure_ascii=False, indent=None)
    escaped_json_string = json.dumps(json_string, separators=(",", ":"), ensure_ascii=False, indent=None)
    print(f"list merge: {escaped_json_string}")


elif isinstance(data, dict):
    json_string = json.dumps(data, separators=(",", ":"), ensure_ascii=False, indent=None)
    escaped_json_string = json.dumps(json_string, separators=(",", ":"), ensure_ascii=False, indent=None)
    print(f"dict merge: {escaped_json_string}")

    # 遍历第一层 key
    for key, value in data.items():
        # 将 value 转为 JSON 字符串
        json_string = json.dumps(value, separators=(",", ":"), ensure_ascii=False, indent=None)

        # 如果你要的是“带转义引号”的字符串(比如用于拼接 JSON),再加一层引号并转义
        # 即:变成 '"{...}"' 形式(字符串,包含外层引号和内部转义)
        escaped_json_string = json.dumps(json_string, separators=(",", ":"), ensure_ascii=False, indent=None)
        print(f"Key: {key}")
        print(f"Value: {escaped_json_string}")
        print("-" * 50)
    # 处理字符串
elif isinstance(data, bool):
    # 处理 True / False
    if data:
        pass
        # 成功
    else:
        pass
        # 失败
else:
    pass

输出:

Key: item
Value: "{\"name\":\"Alice\",\"age\":30,\"item\":{\"key\":\"1.0.1\",\"token\":\"zlsj\",\"appid\":20386}}"
--------------------------------------------------

测试数据

# 数组
data = [{
    "key": "1.0.1",
    "token": "zlsj",
    "appid": 20386
}, {
    "key": "1.0.2",
    "token": "zlj",
    "appid": 20321
}]

输出结果:

Key: 0
Value: "{\"key\":\"1.0.1\",\"token\":\"zlsj\",\"appid\":20386}"
--------------------------------------------------
Key: 1
Value: "{\"key\":\"1.0.2\",\"token\":\"zlj\",\"appid\":20321}"
--------------------------------------------------
[{\"key\":\"1.0.1\",\"token\":\"zlsj\",\"appid\":20386},{\"key\":\"1.0.2\",\"token\":\"zlj\",\"appid\":20321}]
posted @ 2025-08-14 18:43  androllen  阅读(8)  评论(0)    收藏  举报