将值替换为 JSON_ARRAY_T

问题描述

我有一个像这样的数组:

["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;
/

db<>fiddle

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...