7

この質問に続いて:プレストでjson配列をネスト解除する方法

提供された例を実行しようとしましたが、実行中にエラーが発生しました

SQL コマンド:

select x.n
from
unnest(cast(json_extract('{"payload":[{"type":"b","value":"9"}, 
{"type":"a","value":"8"}]}','$.payload') as array<varchar>)) as  x(n)

私が得たエラー:

Value cannot be cast to array<varchar> java.lang.RuntimeException: java.lang.NullPointerException: string is null

4

3 に答える 3

5

SELECT JSON_EXTRACT('{"payload":[{"type":"b","value":"9"}, {"type":"a","value":"8"}]}','$.payload')

与えます:

[{"type":"b","value":"9"}, {"type":"a","value":"8"}]

ですARRAY<MAP<VARCHAR,VARCHAR>>。クエリを次のように変更できます。 SELECT x.n FROM UNNEST (CAST(JSON_EXTRACT('{"payload":[{"type":"b","value":"9"},{"type":"a","value":"8"}]}','$.payload') AS ARRAY<MAP<VARCHAR, VARCHAR>>)) AS x(n)

于 2016-03-04T19:33:42.603 に答える