1
次のjsonデータを解析して、where
節で使用しようとしています。Postgres:SQLでのJSONデータの解析
Basic":{
"General":{
"Field1":1234,
"Field2":"6.86"
},
"Stream 0":{
"Type":"LDAP",
"Field4":"LALA1"
},
"Stream 1":{
"Type":"KERBEROS",
"Field4":"LALA2"
},
"Stream 2":{
"Type":"SAML",
"Field4":"LALA3"
},
私はこのようなタグType
に達することができます。
table.column_json::json->'Basic'->'Stream 0'->'Type'
Stream #
の順序は未定義で、以上3個のStream
タグができました。
はどのようにして各ストリームを反復処理しType:
が"SAML"
であるならば、Field4
値は"LALA3"
で見つけることができます。
'json_each()'は私のために働いていましたが、 '='は 'operator does not exist'エラーを出しています。私は 'j.v - > 'Type' :: varchar = 'SAML''を使ってみましたが、運はありませんでした。 –
ああ、そうです。フィールドを 'text'として取得するには、' - >> '演算子が必要です。更新された回答をご覧ください。 – Patrick