Vì câu hỏi này đạt kết quả cao nên tôi muốn đăng câu thay thế ưa thích này:
Oracle đã phát hành APEX 5.0 (Ngày 15 tháng 4 năm 2015). Với nó, bạn có quyền truy cập vào một API tuyệt vời để làm việc với JSON
Tôi đang sử dụng nó trên 11.2 và có thể bẻ khóa mọi json, từ các đối tượng đơn giản đến rất phức tạp với nhiều mảng và 4/5 cấp độ. APEX_JSON
Nếu bạn không muốn sử dụng APEX. Chỉ cần cài đặt môi trường thời gian chạy để có quyền truy cập vào API.
Sử dụng mẫu, dữ liệu từ ví dụ của json.org :
declare
sample_json varchar2 (32767)
:= '{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}';
begin
apex_json.parse (sample_json);
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.title'));
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.GlossList.GlossEntry.GlossTerm'));
dbms_output.put_line (apex_json.get_varchar2 ('glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso[%d]', 2));
end;
Kết quả:Khối PL / SQL được thực thi
S
Standard Generalized Markup Language
XML