需要从 json 中提取特定细节

Need to extract a specific detail from a json

我有以下 json,我希望提取 location_code 之后和引号之间的特定字符串 XXX123

{"location_code":"XXX123","location_uuid":"XXX-XXX-XXAA-4444-ASDFSDAF44","hotstamp":"1111","card_format":"ABC","accesses":[{"partition_name":"SSSSuljiro","SSSSS":"3","access_levels":["ASDASDASDA"],"location_code":"XXX123"}]}

非常感谢对此的任何帮助!! 我正在使用 redshift 并尝试了几次 regexp_substr

这应该有效:

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

但是由于您想解析一个 json 对象,可能有 better/easier 种方法。

我相信你可以使用 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 格式。