Запрос значения Postgres без ключа во вложенном JSON

Я пытаюсь запросить значение внутри вложенного JSON с соответствующим ключом, но проблема в том, что предыдущий ключ неизвестен. Как мы можем сделать это в Postgres?

Здесь мне нужно запросить значение «status», но ключи «random1» и «random2» не являются постоянными.

Допустим, это пример значения в «my_table» и столбце «my_jsonb».

мой_jsonb:

{
  "known": {
    "random1": {
      "status": "ACTIVE"
    },
    "random2": {
      "status": "ACTIVE"
    },
    "random3": {
      "status": "ACTIVE"
    }
  }
}

Выход:

АКТИВНО
АКТИВНО
АКТИВНО

Я хочу искать значения всех ключей «статуса» без указания предыдущего ключа.


person Niv    schedule 06.01.2020    source источник
comment
Пожалуйста, покажите нам результат, который вы ожидаете, в виде табличного текста. Вам нужна только одна запись или несколько?   -  person GMB    schedule 07.01.2020


Ответы (1)


Это один из способов:

select value, value->>'status' from json_each(json_object->'known')

С уважением,
Бьярни

person Bjarni Ragnarsson    schedule 06.01.2020