说明:此段例子程序来源公司闫同事,需要json安装文件的,可留言索取。
例子程序:
–物料LIST结果解析
DECLARE
l_item_info json;
l_item_list json_list;
l_item_line json;
l_ret_code VARCHAR2(100);
l_ret_msg VARCHAR2(100);
l_json_list_data json_list;
l_temp_line json;
l_erpcode VARCHAR2(100);
l_itemno VARCHAR2(100);
l_type VARCHAR2(100);
BEGIN
l_item_info := json();
l_item_info.put('code',
'1');
l_item_info.put('message',
'调用成功');
l_item_list := json_list();
–物料1
l_item_line := json();
l_item_line.put('erpCode',
'10000001');
l_item_line.put('itemNo',
'22222222222');
l_item_line.put('type',
'4');
dbms_output.put_line(json_ext.get_string(l_item_line,
'erpCode') || '是:');
l_item_line.print;
dbms_output.put_line('—————————–');
l_item_list.append(l_item_line.to_json_value);
–物料2
l_item_line := json();
l_item_line.put('erpCode',
'10000003');
l_item_line.put('itemNo',
'333333333333');
l_item_line.put('type',
'2');
dbms_output.put_line(json_ext.get_string(l_item_line,
'erpCode') || '是:');
l_item_line.print;
dbms_output.put_line('—————————–');
l_item_list.append(l_item_line.to_json_value);
–物料LIST构成
dbms_output.put_line('l_item_list是:');
l_item_list.print;
dbms_output.put_line('—————————–');
–返回结果整体构成
l_item_info.put('data',
l_item_list.to_json_value);
dbms_output.put_line('l_item_info是:');
l_item_info.print;
dbms_output.put_line('—————————–');
–返回结果解析
l_ret_code := json_ext.get_string(l_item_info,
'code');
l_ret_msg := json_ext.get_string(l_item_info,
'message');
dbms_output.put_line('解析结果:');
dbms_output.put_line('l_ret_code: ' || l_ret_code);
dbms_output.put_line('l_ret_msg: ' || l_ret_msg);
IF l_ret_code = '1' THEN
l_json_list_data := json_list(l_item_info.get('data'));
FOR i IN 1 .. l_json_list_data.count()
LOOP
l_temp_line := json(l_json_list_data.get(i));
l_erpcode := json_ext.get_string(l_temp_line,
'erpCode');
l_itemno := json_ext.get_string(l_temp_line,
'itemNo');
l_type := json_ext.get_string(l_temp_line,
'type');
dbms_output.put_line('l_erpcode: ' || l_erpcode);
dbms_output.put_line('l_itemNo: ' || l_itemno);
dbms_output.put_line('l_type: ' || l_type);
END LOOP;
END IF;
END;
——————————————————————————
以下是输出结果:
10000001是:
{
"erpCode" : "10000001",
"itemNo" : "22222222222",
"type" : "4"
}
—————————–
10000003是:
{
"erpCode" : "10000003",
"itemNo" : "333333333333",
"type" : "2"
}
—————————–
l_item_list是:
[{
"erpCode" : "10000001",
"itemNo" : "22222222222",
"type" : "4"
}, {
"erpCode" : "10000003",
"itemNo" : "333333333333",
"type" : "2"
}]
—————————–
l_item_info是:
{
"code" : "1",
"message" : "\u8C03\u7528\u6210\u529F",
"data" : [{
"erpCode" : "10000001",
"itemNo" : "22222222222",
"type" : "4"
}, {
"erpCode" : "10000003",
"itemNo" : "333333333333",
"type" : "2"
}]
}
—————————–
解析结果:
l_ret_code: 1
l_ret_msg: 调用成功
l_erpcode: 10000001
l_itemNo: 22222222222
l_type: 4
l_erpcode: 10000003
l_itemNo: 333333333333
l_type: 2