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}]

浙公网安备 33010602011771号