Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Получение значения элемента из поля json  [new]
assmsk
Member

Откуда:
Сообщений: 192
Всем привет.
Помогите разобраться как получить знасение элемента из поля json.
Есть таблица с полем req varchar, в нем лежат json следующего вида:

{
"Req": {
"Reqid":"46754",
"Reqcode":"e45fgc",
"Reqres": [
{
"Id": "467643234",
"Flg": true
}
]
}}

Нашел на разных источниках что значение поля можно получить
Как то так: поле::json->'имя элемента'
Но если я пытаюсь получить например значение элемента
Reqid - to_json(req)::json->'reqid', то получаю null
Помогите разобраться как написать запрос
8 июн 21, 10:31    [22332699]     Ответить | Цитировать Сообщить модератору
 Re: Получение значения элемента из поля json  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1312
assmsk,

у вас разве есть Reqid на верхнем уровне? У вас там только объект Req. json->'Req'->>'Reqid'
8 июн 21, 11:14    [22332724]     Ответить | Цитировать Сообщить модератору
 Re: Получение значения элемента из поля json  [new]
assmsk
Member

Откуда:
Сообщений: 192
Melkij,
Спасибо!
Я так и думал что в этом дело, но по не знанию пытался писать так:
Req.::json->>'req.reqid'
8 июн 21, 11:50    [22332751]     Ответить | Цитировать Сообщить модератору
 Re: Получение значения элемента из поля json  [new]
assmsk
Member

Откуда:
Сообщений: 192
Вот еще момент...
Думал, что получу значение из массива Reqres по аналогии,но не работает
Req::json->'Req'->'Reqres'->>'id'
Как написать в случаее массива с этим примером?

Сообщение было отредактировано: 8 июн 21, 11:56
8 июн 21, 12:03    [22332766]     Ответить | Цитировать Сообщить модератору
 Re: Получение значения элемента из поля json  [new]
Melkij
Member

Откуда: Санкт-Петербург
Сообщений: 1312
assmsk,

Смотрите на свою структуру. Вот в Reqres у вас массив. Вам какой элемент массива нужен дальше? Всегда нулевой? Оператор "-> int" - "Get JSON array element (indexed from zero, negative integers count from the end)" существует
8 июн 21, 12:35    [22332789]     Ответить | Цитировать Сообщить модератору
 Re: Получение значения элемента из поля json  [new]
assmsk
Member

Откуда:
Сообщений: 192
Melkij,
Спасиьо,вроде осознал)
8 июн 21, 13:39    [22332848]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить