问题描述
["value_1","value_2","value_3"]
我想用相同位置的value_4替换第二个位置的value_2;使用 JSON_ARRAY_T。
结果必须是:
["value_1","value_4","value_3"]
有什么办法吗?或者我必须删除和放置?
解决方法
Documentation 是这样说的:
对于数组,put()
还接受可选的第三个参数 OVERWRITE
。这是一个 BOOLEAN
值(默认 FALSE
),表示是否替换给定位置的现有值。
所以你需要这样做:
declare
arr JSON_ARRAY_T;
begin
arr := JSON_ARRAY_T('["value_1","value_2","value_3"]');
arr.put(1,'value_4',true);
dbms_output.put_line(arr.stringify);
end;
/