sql >> Databáze >  >> RDS >> PostgreSQL

jak převedu text na jsonB

Podle dokumentace Postgres :

IMHO poskytujete řetězec ve formátu JSON, pak byste měli použít první metodu.

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

Pokud se pokusíte získat pole prvků pomocí to_json(text), dostanete další chybu:

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

Ale pokud jste to dříve odeslali do 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. MySQL index na první části řetězce

  2. Jak vytvořit rozbalovací nabídku

  3. Oracle dynamic DESC a ASC v pořadí podle

  4. Jak funguje funkce TRIM() v MySQL