需要解析pl / sql中的JSON请求

时间:2015-02-11 22:37:41

标签: oracle11g pljson

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

{
  "value1": "ABC123",
  "list1": [
    "1",
    "2"
  ]
}

请求验证指定的value1对于指定的value2值至少有一个有效list1

我们的数据库中有一个列匹配value1, value2, and list1列的表。我正在使用带游标的存储过程来获取这样的值:

cursor valid_list1_values is
select list1_values
from myTable
where value1 = ;

我坚持使用where子句。此过程用于传入两个变量而不是JSON,我使用其中一个来缩小游标结果集。

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

1 个答案:

答案 0 :(得分:2)

首先,您需要将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;