You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据库中保存的HTTP请求头元组列表恢复为原类型?

如何从数据库恢复HTTP请求头的原始结构化数据

当然有办法把这些转义后的字符串恢复成原始的列表类型!具体操作要看你保存时生成的字符串格式,下面分两种常见情况说明:

情况1:保存的是标准JSON格式(推荐)

如果你的原始数据是键值对列表(比如字典列表),并且保存时用了JSON序列化(比如Python里的json.dumps()),那加载时直接用JSON解析工具就能还原:

比如假设从数据库取出的字符串是:

db_str = "[{\"Content-Type\": \"application/json\"}, {\"x-request-id\": \"fatlud3104arjj91jtig2qrj3u7320la\"}]"

用Python的json模块解析:

import json

original_headers = json.loads(db_str)
# 结果就是:[{"Content-Type": "application/json"}, {"x-request-id": "fatlud3104arjj91jtig2qrj3u7320la"}]

JSON是通用的结构化数据格式,跨语言都能解析,是这种场景下的最优选择。

情况2:保存的是Python字面量格式(比如直接用str()转换的)

你例子里的字符串用了{"Content-Type", "application/json"}这种格式,这更像Python集合的字面量(如果是元组的话应该是(...))。这种情况下可以用Python的ast.literal_eval()来安全解析:

import ast

db_str = "[{\"Content-Type\", \"application/json\"}, {\"x-request-id\", \"fatlud3104arjj91jtig2qrj3u7320la\"}]"
original_data = ast.literal_eval(db_str)
# 结果是列表包含两个集合:[{"Content-Type", "application/json"}, {"x-request-id", "fatlud3104arjj91jtig2qrj3u7320la"}]

⚠️ 注意:ast.literal_eval()比直接用eval()安全得多,它只会解析Python的字面量(比如列表、元组、字典、集合、字符串等),不会执行任意代码,非常适合处理从外部(比如数据库)加载的字符串。

额外建议

如果可以的话,建议以后保存这类结构化数据时优先用JSON序列化(json.dumps()),而不是直接转成字符串(str()):

  • JSON格式更通用,其他语言也能解析;
  • 避免因为Python字面量的格式差异(比如集合和元组的括号区别)导致解析问题;
  • 能更好地处理特殊字符和转义逻辑。

内容的提问来源于stack exchange,提问作者faigy langsam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:36:13