Oracle11g 需要在pl/sql中解析JSON请求

Oracle11g 需要在pl/sql中解析JSON请求,oracle11g,pljson,Oracle11g,Pljson,我最近安装了PL/JSON包,需要一些使用它的帮助。我收到一个请求(POST),我需要解析它以与我的数据进行比较。请求的格式如下: { "value1": "ABC123", "list1": [ "1", "2" ] } cursor valid_list1_values is select list1_values from myTable where value1 = ; 该请求验证指定的value1对于指定的list1值至少有一个有效的value2 我们有

我最近安装了PL/JSON包,需要一些使用它的帮助。我收到一个请求(POST),我需要解析它以与我的数据进行比较。请求的格式如下:

{
  "value1": "ABC123",
  "list1": [
    "1",
    "2"
  ]
}
cursor valid_list1_values is
select list1_values
from myTable
where value1 = ;
该请求验证指定的
value1
对于指定的
list1
值至少有一个有效的
value2

我们有一个表,其列与数据库中的
value1、value2和list1
值匹配。我使用带有游标的存储过程来获取这些值,如下所示:

{
  "value1": "ABC123",
  "list1": [
    "1",
    "2"
  ]
}
cursor valid_list1_values is
select list1_values
from myTable
where value1 = ;
我被where条款缠住了。这个过程用来传入两个变量而不是JSON,我使用其中一个来缩小游标结果集


如何解析JSON对象和嵌套的JSON列表以获取
Value1
来限制我的光标?

首先,需要将JSON字符串解析为JSON对象。然后可以使用JSON对象方法访问数据:

json in_data := json('{"value1":"ABC123", "list1":[1,2]}');
varchar2 json_value1 := in_data.get_string('value1');
此时可以使用光标中的值:

cursor valid_list1_values is
select list1_values
from myTable
where value1 = json_value1;

这个问题到处都是。您的示例数据与您用来描述它的词语不匹配,而代码甚至与之无关。请澄清您的问题,并提供一些您尝试过的信息。@jsumners为clarityAh编辑,这就是我所缺少的。我会测试一下,然后告诉你。谢谢你的回复!