-使用json数组将每个元素解析为文本,但是显示错误。 -将类型从json []更改为json,但无济于事。
CREATE OR REPLACE FUNCTION public.test(in_param json[])
RETURNS integer
LANGUAGE 'plpgsql'
COST 100
VOLATILE
AS $BODY$
declare
item text;
arr1 text[];
begin
for item in select * from json_array_elements_text(in_param ) loop
arr1 = arr1||item;
end loop;
return 0;
end;
$BODY$;
ALTER FUNCTION public.test(json[])
OWNER TO postgres;
答案 0 :(得分:0)
您正在尝试传递数组 尝试以下
String t[] = { "a", "b" };
JSONArray mJSONArray = new JSONArray(Arrays.asList(mStringArray));
test(mJSONArray)
答案 1 :(得分:0)
我认为你错了。 ["a","b","c"]
无法转换为json[]
。附加方括号([]
)将创建一个Postgres数组数据类型,并且不能自我转换为JSON
数组类型
如果这样做,您会收到的。
错误:格式不正确的数组文字
相反,定义您的函数以接受简单的JSON类型
create or replace function test(json_in json) ..
..
现在,只需引用示例参数["a","b","c"]
即可
select test('["a","b","c"]')