如此处所述,json_object_agg(name, value)
的返回类型为json
。同时,如果我从存储过程中返回json_object_agg()
的返回值:
CREATE OR REPLACE FUNCTION _getlocales()
RETURNS json AS
$BODY$DECLARE
var json;
BEGIN
select into var json_object_agg("key", "values") from table;
RETURN var;
END;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
在另一个函数中调用它:
variable = _getlocales();
RAISE NOTICE 'DATA TYPE %', pg_typeof(variable);
SELECT variable->>'property'
我无法获取
JSON
对象字段。我遇到了以下错误:
并且提醒显示数据类型是ERROR:运算符不存在:text -> unknown
text
。
我尝试将NOTICE: 数据类型为text
_getlocales()
的返回类型更改为jsonb
,但没有任何变化:CREATE OR REPLACE FUNCTION nav._getlocales()
RETURNS jsonb AS
$BODY$DECLARE
_l18nJson jsonb;
...
为什么会发生这种情况?