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

如何修复PostgreSQL jsonb列中的转义字符串为有效JSON

修正PostgreSQL jsonb字段中转义字符串为JSON对象

针对你的场景,用jsonb_set函数可以精准替换目标字段,不会破坏原有JSON结构,具体SQL如下:

UPDATE tbl1
SET info_data = jsonb_set(
    info_data,
    '{registrationDate}',
    (info_data->>'registrationDate')::jsonb
)
WHERE id = 1 
  AND info_data IS NOT NULL;

为什么这个方案有效

  • info_data->>'registrationDate' 提取出registrationDate字段的字符串值(即带转义的JSON内容)
  • ::jsonb 将该字符串直接解析为合法的JSON对象
  • jsonb_set 仅替换info_data中的registrationDate字段,完整保留其他字段的原有结构

你之前的方法无效的原因

  • 第一个语句(info_data #> '{}')::jsonb只是原样返回整个info_data,没有任何实际修改
  • 第二个语句直接替换整个JSON文本中的转义符,会误改其他正常字段的双引号转义,甚至导致JSON解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:34:59