Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przetwarzaj JSON do tabeli Oracle za pomocą PL/SQL

Ponieważ to pytanie ma wysokie wyniki, chcę opublikować tę preferowaną alternatywę:

Firma Oracle wydała APEX 5.0 (15 kwietnia 2015). Dzięki niemu uzyskasz dostęp do świetnego interfejsu API do pracy z JSON

Używam go w wersji 11.2 i byłem w stanie przerobić każdy pojedynczy json, od prostych do bardzo złożonych obiektów z wieloma tablicami i poziomami 4/5. APEX_JSON

Jeśli nie chcesz korzystać z APEX. Po prostu zainstaluj środowisko wykonawcze, aby uzyskać dostęp do API.

Przykładowe użycie, dane z przykładu 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;

Wynik:Blok PL/SQL wykonany

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 — uzyskaj dane z ubiegłego roku (dynamiczny)

  2. Nie można znaleźć pliku Oracle.DataAccess.dll, chociaż istnieje

  3. ORA-65139:Niezgodność między plikiem metadanych XML a plikiem danych

  4. Jak pobrać wynik funkcji bazy danych Oracle przez ODBC?

  5. Jak uzyskać dni robocze lub godziny między dwiema datami?