Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Phân tích cú pháp JSON thành bảng Oracle bằng PL / SQL

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:kích hoạt tăng tự động.

  2. Cách tiếp cận hiệu quả để điền bảng tạm thời

  3. Các biến Oracle

  4. Làm cách nào để nhập tệp XML trong Oracle SQL Developer?

  5. Cách giải quyết ORA-04063:xem SYS.ALL_QUEUE_TABLES có lỗi?