读取配置单元列中字符串双引号内的 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