我想将记录集的行转换为JSON,但不包括任何最终在JavaScript中未定义的空条目.例如,假设我有表testdata条目
id | prop1 (integer) | prop2 (text)
-------------------------------------
1 | 42 | 'Answer'
2 | NULL | 'No prop one'
3 | 0 | NULL
Run Code Online (Sandbox Code Playgroud)
然后执行
SELECT row_to_json(testdata) FROM testdata
Run Code Online (Sandbox Code Playgroud)
我得到的是:
{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop1":null,"prop2":"No prop one"}
{"id":"3","prop1":"0","prop2":null}
Run Code Online (Sandbox Code Playgroud)
但相反,我想要的是:
{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop2":"No prop one"}
{"id":"3","prop1":"0"}
Run Code Online (Sandbox Code Playgroud)
这可能吗?根据PostgreSQL 9.3 的JSON函数文档,只有一个额外的选项或参数row_to_json,但设置pretty_bool=true不会删除空值,所以似乎答案可能是否定的.但这似乎也是一个非常明显和有用的功能,所以我希望别人找到了我错过的东西.
我的最终目标是通过GET调用PHP页面来检索JavaScript中的记录.我是否最好从更标准的记录集中构建PHP中的JSON,而不是使用PostgreSQL的JSON例程?
看起来该函数的未来版本可能有一个“忽略空值”选项 - https://commitfest.postgresql.org/action/patch_view?id=1496
| 归档时间: |
|
| 查看次数: |
3336 次 |
| 最近记录: |