sql >> Databáze >  >> RDS >> Oracle

Analyzujte JSON do tabulky Oracle pomocí PL/SQL

Protože tato otázka má vysoké výsledky, chci zveřejnit tuto preferovanou alternativu:

Společnost Oracle vydala APEX 5.0 (15. dubna 2015). S ním získáte přístup ke skvělému rozhraní API pro práci s JSON

Používám to na 11.2 a dokázal jsem rozdrtit každý jednotlivý json, od jednoduchých až po velmi složité objekty s více poli a 4/5 úrovněmi. APEX_JSON

Pokud nechcete používat APEX. Jednoduše nainstalujte běhové prostředí, abyste získali přístup k API.

Ukázka použití, data z příkladu 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;

Výsledek:Proveden blok PL/SQL

S
Standard Generalized Markup Language
XML


  1. Django:Změňte TimeField na DateTimeField v models.py

  2. Vytvořte vnořený json z dotazu SQL postgres 9.4

  3. Hibernujte OneToMany s neshodnými složenými primárními klíči

  4. Tabulka SQL s jedním sloupcem, sloupec je ID - je to šílené?