我有以下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
答案 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
格式。