gpt4 book ai didi

arrays - 将 Postgres 行导出为 JSON 文件

转载 作者:行者123 更新时间:2023-11-29 12:43:18 28 4
gpt4 key购买 nike

我需要为我网站上的数据表部分生成一个 JSON 文件。 JSON 的格式应如下所示:

{
"data": [
[
"Tiger Nixon",
"System Architect",
"Edinburgh",
"5421",
"2011/04/25",
"$320,800",
],
[
"Garrett Winters",
"Accountant",
"Tokyo",
"8422",
"2011/07/25",
"$170,750"
],
]
}

这种格式看起来像 JSON Creation Functions (Table 9-42.) 中列出的数组数组-- array_to_json。

但是,我的数据并没有作为数组存储在我的数据库中。这是典型的行数据。

但是当我尝试使用“row_to_json”导出到 JSON 时——格式与我需要的相差甚远。 See this SQLfiddle example.

基本上,我正在尝试找出使 JSON 导出看起来更像上面粘贴的格式的最佳方法。

我是否应该先将我的行重新格式化为数组,然后将它们存储在一个新表中,以便在我使用“row_to_json”时它们以数组形式出现?或者有更好的方法吗?

最佳答案

选择行作为数组并使用 json_agg(array_to_json(...)):

select 
json_build_object(
'data',
json_agg(array_to_json(array[price::text, qty::text])))
from data;

json_build_object
----------------------------------------------------
{"data" : [["11","11"], ["22","11"], ["33","11"]]}
(1 row)

你需要Postgres 9.4中引入的功能,所以SqlFiddle没用。

关于arrays - 将 Postgres 行导出为 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112304/

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