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

PostgreSQL如何将查询结果转为指定格式字符串以转换为HashMap?

解决方案

你可以用PostgreSQL自带的函数实现这个转换,推荐两种方式:

方式一:构造标准JSON字符串(更推荐)

用json_build_object函数把提取出的name和dob拼成标准JSON对象,再转成字符串。这种格式是通用的JSON结构,能直接被大多数语言解析成HashMap,比你指定的格式更规范。

执行查询:

SELECT json_build_object('name', data->>'name', 'dob', data->>'dob')::text AS result
FROM TableA
WHERE id = '1';

返回结果:

{"name":"abc","dob":"12-12-12"}

方式二:严格生成你指定的格式

如果一定要生成你给出的带外层双引号的格式,可以用字符串拼接的方式实现:

SELECT '" "name" : "' || data->>'name' || '" ,"dob" :"'" || data->>'dob' || '" "' AS result
FROM TableA
WHERE id = '1';

不过这种方式灵活性差,后续字段变动时需要手动修改拼接逻辑,不推荐长期使用。

另外提一句:你原表data字段里的code键值对有语法错误(少了冒号,应该是"code":"12O0X"),建议修正数据,避免后续JSON操作出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:41:12