escaping der doppelten Anführungszeichen mit text-Spalte Typ in postgresql mit json-parsing über jackson


Ich habe die folgende Tabelle definiert postgresql:

        Column      |          Type          | Modifiers 
-----------------+------------------------+-----------
 id              | uuid                   | not null
 entity_snapshot | text                   | 
Indexes:
    "pk_id" PRIMARY KEY, btree (id)

Ich würde gerne speichern, die folgende JSon-string:

[ "org.test.MyUniqueId", {:   "uuid" : "f4b40050-9716-4346-bf84-8325fadd9876": } ]

für einige Tests durchführen, statt dies zu tun, mit Jackson, ich versuche zu geben Sie eine SQL manuell, und hier ist mein problem - ich kann nicht scheinen, um ti Recht.

Mein Aktueller Versuch:

insert into my_table(id,entity_snapshot) values ('d11d944e-6e78-11e1-aae1-52540015fc3f','[ \"org.test.MyUniqueId\", {:   \"uuid\" : \"f4b40050-9716-4346-bf84-8325fadd9876\": } ]');

Procuedure ein Datensatz, der aussieht wie das, was ich brauche, wenn ich wählen Sie aus der Tabelle, aber wenn ich versuchen, Jackson zu analysieren bekomme ich eine Fehlermeldung -

org.apache.commons.lang.SerializationException: org.codehaus.jackson.JsonParseException: Unexpected character (':' (code 58)): was expecting double-quote to start field name

Unnötig zu sagen, dass, wenn der gleiche Datensatz eingefügt wird, über mein java-code , ich kann es analysiert und wenn es um die Suche in den Datensatz mit menschlichen Augen, es schaut für mich gleich aus.

Können Sie mir sagen, wo ich falsch bin in meine SQL Anweisung einfügen?

  • Sie können sqldump zu schreiben, beide Zeilen eingefügt durch Java und manuell in eine Textdatei und Vergleiche was anders ist mit dem manuellen einfügen.
Schreibe einen Kommentar