2016-09-27 3 views
0

Ich habe diese JSON (B) -Spalte in meiner postgres-Datenbank. Ich habe in diese Spalte alle Daten geworfen, die ich von einer API bekomme. Jetzt muss ich einige Schlüssel/Wert-Paare aus diesem array.e.g extrahieren. für eine JSON-Array wie:Extrahieren von Schlüssel/Wert-Paaren vom JSON-Array

[{"myKey1": "school type", "myKey2": "primary"}, {"myKey1": "study coverage", "myKey2": "secondary"}] 

muss ich extrahieren:

myKey1: school type myKey2: primary 

myKey1: study coverage myKey22: secondary 

Da ich zu JSON neu bin, mir scheint es, dass ich von geschweiften zuerst die Array in Objekte brechen müssen (umgeben Klammern) und als es gibt einige Postgres-Funktionen für Objekte (in der folgenden Verbindung https://www.postgresql.org/docs/9.4/static/functions-json.html gegeben), die ich verwenden kann, um die erforderlichen Schlüssel/Wert-Paare zu extrahieren.

Meine Datenbank-Tabelle ist:

CREATE TABLE "Education" (
    "id" SERIAL NOT NULL, 
    "json_text" JSONB NOT NULL, 
); 

ich die folgende Abfrage verwenden dieses Ziel zu erreichen:

SELECT tmp_col->>'myKey1' 
FROM ( 
    SELECT json_text->> 0 AS temp_col 
    FROM education 
) AS temp_table 

bekomme ich folgende Fehlermeldung, wenn ich diese Abfrage ausführen.

Error Message

Irgendwelche Hinweise auf das, was fehlt?

Auch gibt es bessere Möglichkeiten, die Informationen in Not zu bekommen. Ich arbeite in Java, um die Informationen anzuzeigen.

Danke.

Antwort

2

Wenn Sie dann können Sie versuchen, JSON in Java zu verarbeiten. Sie können den kompletten JSON von Postgres abfragen und dann mit JSON API für Java Ihren JSON parsen.