首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从复杂的嵌套json中获取值

从复杂的嵌套json中获取值
EN

Stack Overflow用户
提问于 2019-02-13 13:41:17
回答 1查看 19关注 0票数 0

我是sparkSQL的新手。有谁能解决我的问题吗?

在"E1EDP01“中有"posex field”,每个"posex“都有"E1EDP02”.I want "QUALF“值来自"E1EDP02”

E1EDP01.E1EDP02.QUALF

"E1EDP01":[

代码语言:javascript
复制
                "@SEGMENT": "1",
                "POSEX": "000010",
                "MENGE": "4.000",
                "MENEE": "EA",                       
                "E1EDP02": [

                    {
                        "@SEGMENT": "1",
                        "QUALF": "016",
                        "BELNR": "0080001425",
                        "ZEILE": "000010",
                        }
                ]
            {   
                "@SEGMENT": "1",
                "POSEX": "000020",
                "MENGE": "2.000",
                "MENEE": "EA",

                "E1EDP02": [
                    {
                        "@SEGMENT": "1",
                        "QUALF": "002",
                        "BELNR": "7000000986",
                        "ZEILE": "000020"
                    },
            {
                "@SEGMENT": "1",
                "POSEX": "000030",
                "MENGE": "2.000",
                "MENEE": "EA",

                 E1EDP02": [

                    {
                        "@SEGMENT": "1",
                        "QUALF": "002",
                        "BELNR": "7000000986",
                        "ZEILE": "000020"
                    },
EN

回答 1

Stack Overflow用户

发布于 2019-02-13 20:07:27

您可以使用SparkSQL函数get_json_object()来提取嵌套字段,如下所示:

代码语言:javascript
复制
df = spark.createDataFrame(
  [['{"E1EDP01": [{"POSEX": "000010", "E1EDP02": [{"QUALF": "016"}]}, {"POSEX": "000020", "E1EDP02": [{"QUALF": "002"}]}]}']],
  ['json_string']
)

df.selectExpr(
  "get_json_object(json_string, '$.E1EDP01[*].E1EDP02[*].QUALF') as values"
).show()

# +-----------------+
# |           values|
# +-----------------+
# |[["016"],["002"]]|
# +-----------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54663289

复制
相关文章

相似问题

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