需要从json中提取特定细节

时间:2018-08-07 09:11:04

标签: regex amazon-redshift regexp-substr

我有以下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

2 个答案:

答案 0 :(得分:1)

这应该有效:

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

但是由于您要解析json对象,因此可能会有更好/更简便的方法。

答案 1 :(得分:1)

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