Oracle
 sql >> база данни >  >> RDS >> Oracle

Анализирайте JSON в таблица на Oracle с помощта на PL/SQL

Тъй като този въпрос дава високи резултати, искам да публикувам тази предпочитана алтернатива:

Oracle пусна APEX 5.0 (15 април 2015 г.). С него получавате достъп до страхотен API за работа с JSON

Използвам го на 11.2 и успях да разбия всеки един json, от прости до много сложни обекти с множество масиви и 4/5 нива. APEX_JSON

Ако не искате да използвате APEX. Просто инсталирайте средата за изпълнение, за да получите достъп до API.

Примерно използване, данни от пример на 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;

Резултат:PL/SQL блокът е изпълнен

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?

  2. Как да разделите низ в Oracle

  3. Как да получа текущата година, използвайки SQL на Oracle?

  4. Вмъкване на нулеви стойности при използване на групово вмъкване

  5. Неявна разлика в преобразуването на потока от данни CAST спрямо ssis