Необходимо извлечь конкретную деталь из JSON

У меня есть следующий json, который я ищу, чтобы извлечь конкретную строку, которая идет после location_code и между кавычками XXX123

{"location_code": "XXX123", "location_uuid": "XXX-XXX-XXAA-4444-ASDFSDAF44", "hotstamp": "1111", "card_format": "ABC", "доступы":[{"имя_раздела":"SSSSuljiro","SSSSS":"3","access_levels":["ASDASDASDA"],"location_code":"XXX123"}]}

Буду очень признателен за любую помощь с этим! Я использую красное смещение и попробовал несколько попыток с regexp_substr

2 ответа

Решение

Это должно работать:

(?<="location_code":")\w+

но так как вы хотите проанализировать объект json, могут быть лучшие / более простые способы сделать это.

Я считаю, что вы могли бы использовать json_extract_path_text:

select json_extract_path_text(
  json_column, -- your json
  'location_code', -- json key to extract data from
  true -- return null if input is invalid json
);

Убедитесь, что ваша строка действительно действительна JSON формат.

Другие вопросы по тегам