读取配置单元列中字符串双引号内的 Json 对象数组返回 null
Reading an array of Json object inside String double quotes in hive column is returning null
下面的代码返回空值:
select get_json_object(events,'$.payload')
from
(
select '{"payload":"[{"one":1}]"}' as events
) s
下面的代码返回正确的值:
select get_json_object(events,'$.payload')
from
(
select '{"payload":[{"one":1}]}' as events
) s
payload 的值是一个 Json 数组 object.When 我将这些 Json 数组对象保存在字符串双引号内({"payload":"[{"one": 1}]"}),它返回 null.Please 建议当 Json 数组在字符串中时如何检索。
是的,这是字符串中的一个 Json 对象,当我使用正则表达式删除双引号时,它起作用了:
select events,get_json_object(events,'$.payload') as col
来自
(
select regexp_replace('{"payload":"[{"one":1}]}"','(?<=\:)"(?=\[)|(?< =\])"','') 作为事件
) s
下面的代码返回空值:
select get_json_object(events,'$.payload')
from
(
select '{"payload":"[{"one":1}]"}' as events
) s
下面的代码返回正确的值:
select get_json_object(events,'$.payload')
from
(
select '{"payload":[{"one":1}]}' as events
) s
payload 的值是一个 Json 数组 object.When 我将这些 Json 数组对象保存在字符串双引号内({"payload":"[{"one": 1}]"}),它返回 null.Please 建议当 Json 数组在字符串中时如何检索。
是的,这是字符串中的一个 Json 对象,当我使用正则表达式删除双引号时,它起作用了:
select events,get_json_object(events,'$.payload') as col 来自
( select regexp_replace('{"payload":"[{"one":1}]}"','(?<=\:)"(?=\[)|(?< =\])"','') 作为事件
) s