我正在尝试如下查询,
OPT_VAR JSONB;
select
json_build_object('CustomerProfile',t) into OPT_VAR
from
(
select firstName,LastName,Type,Gender
from TABLE_NAME
)t;
我的预期输出如
{
"CustomerProfile": {
"firstName": "Sam",
"LastName": "Smith",
"Type": "A1",
"Gender": "Male"
}
}
但我得到了类似的东西
{
"CustomerProfile": {
"firstName": "Sam",
"Gender": "Male",
"LastName": "Smith",
"Type": "A1"
}
}
我唯一关心的是json属性的顺序。
json.org上的定义是:
对象是一组无序的名称/值对
因此,您不应该依赖于JSON中键的顺序。这可能就是Postgres不关心JSON输出顺序的原因。
在注释中,如a-horse所述-无名称
OPT_VAR JSON;
而不是OPT_VAR JSONB;