我最近安装了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
限制我的光标?
答案 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;