gpt4 book ai didi

json - 从 row_to_json() 中排除空值导致 PostgreSQL

转载 作者:行者123 更新时间:2023-11-29 11:14:50 25 4
gpt4 key购买 nike

我想将记录集的行转换为 JSON,但不包括任何最终将在 JavaScript 中未定义的空条目。例如,假设我有包含条目的表 testdata

id | prop1 (integer) | prop2 (text)
-------------------------------------
1 | 42 | 'Answer'
2 | NULL | 'No prop one'
3 | 0 | NULL

然后执行

SELECT row_to_json(testdata) FROM testdata

我得到的是:

{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop1":null,"prop2":"No prop one"}
{"id":"3","prop1":"0","prop2":null}

但是,我想要的是:

{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop2":"No prop one"}
{"id":"3","prop1":"0"}

这可能吗?根据JSON functions documentation对于 PostgreSQL 9.3,row_to_json 只有一个额外的选项或参数,但是设置 pretty_bool=true 不会删除空值,所以看起来答案可能是否定的.但这似乎也是一个非常明显和有用的功能,所以我希望其他人已经找到了我错过的东西。

我的最终目标是通过对 PHP 页面的 GET 调用来检索 JavaScript 中的记录。我是否最好从更标准的记录集中在 PHP 中构建 JSON,而不是使用 PostgreSQL 的 JSON 例程?

最佳答案

Postgres 9.5 引入了 json_strip_nulls功能,这似乎完全符合您的要求。

关于json - 从 row_to_json() 中排除空值导致 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com