蜂巢:解析 JSON 包含 \"
Posted
技术标签:
【中文标题】蜂巢:解析 JSON 包含 \\"【英文标题】:hive: parsing JSON contain \"蜂巢:解析 JSON 包含 \" 【发布时间】:2019-01-21 11:59:25 【问题描述】:我的 JSON 数据是:
"content":"\"type\":3,\"from\":\"home\"",
"id":"239",
"idtype":"0",
"timestamp":"1547957367281",
"type":"0"
我想把它放到下面格式的表 json_data 中:
+-------------+
| from |
+-------------+
| home |
+-------------+
如何使用这里的explode 函数来获得所需的输出?
【问题讨论】:
【参考方案1】:您可以使用 regexp_replace 删除 \
,也可以在 之前和
之后删除
"
。使用get_json_object
或json_tuple 提取属性。在您的数据示例上进行测试:
select get_json_object(json,'$.content.from') as `from`
from
(
select
regexp_replace(
regexp_replace(
regexp_replace(
'"content":"\"type\":3,\"from\":\"home\"",
"id":"239",
"idtype":"0",
"timestamp":"1547957367281",
"type":"0"
' --original data
,'\\\"','\"') --replace \" with "
,'\\"\\','') --remove " before
,'\\\\"','\\') --remove " after --these last two can be combined
as json
)s
;
输出:
OK
from
home
Time taken: 0.329 seconds, Fetched: 1 row(s)
最好一一检查这些 regexp_replaces 以确保它按预期工作。希望你明白了
【讨论】:
以上是关于蜂巢:解析 JSON 包含 \"的主要内容,如果未能解决你的问题,请参考以下文章
在 Flutter 中解析 JSON 时 Json.decode 挂起
如何在 Node.js 中解析包含“NaN”的 JSON 字符串