sql >> Databasteknik >  >> RDS >> PostgreSQL

hur konverterar jag text till jsonB

Enligt Postgres-dokumentation :

IMHO du tillhandahåller en JSON-formaterad sträng, då bör du använda den första metoden.

to_json('Fred said "Hi."'::text)  --> "Fred said \"Hi.\""

Om du försöker få en array av element med to_json(text) får du nästa felmeddelande:

select *
from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::text));

Men om du tidigare har castat den till json:

select *
from jsonb_array_elements_text(to_jsonb('[{"field":15,"operator":0,"value":"1"},{"field":15,"operator":0,"value":"2"},55]'::json));

+--------------------------------------------+
|                    value                   |
+--------------------------------------------+
| {"field": 15, "value": "1", "operator": 0} |
+--------------------------------------------+
| {"field": 15, "value": "2", "operator": 0} |
+--------------------------------------------+
| 55                                         |
+--------------------------------------------+


  1. Postgres, duplicera unikt index

  2. NULL-värden i NOT IN-satsen

  3. Mytop – Ett användbart verktyg för att övervaka MySQL/MariaDB-prestanda i Linux

  4. Hur fyller jag i en MySQL-tabell med många slumptal?