首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置单元:正在解析JSON contain \“

配置单元:正在解析JSON contain \“
EN

Stack Overflow用户
提问于 2019-01-21 19:59:25
回答 1查看 54关注 0票数 1

我的JSON数据是:

代码语言:javascript
复制
 {
    "content":"{\"type\":3,\"from\":\"home\"}",
    "id":"239",
    "idtype":"0",
    "timestamp":"1547957367281",
    "type":"0"
}

我想将其放入以下格式的表json_data中:

代码语言:javascript
复制
+-------------+  
| from        |  
+-------------+  
| home        |  
+-------------+

我如何在这里使用分解函数来获得所需的输出?

EN

回答 1

Stack Overflow用户

发布于 2019-01-21 23:46:24

您可以使用regexp_replace删除\,也可以删除{之前和}之后的"。使用get_json_objectjson_tuple提取属性。在您的数据示例上进行测试:

代码语言:javascript
复制
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
;

输出:

代码语言:javascript
复制
OK
from
home
Time taken: 0.329 seconds, Fetched: 1 row(s)

最好逐个检查这些regexp_replaces,以确保它像预期的那样工作。希望你明白我的意思

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54289524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档