Oracle PL SQL Select 查询 JSON 数据

问题描述 投票:0回答:1

我想编写一个 Oracle PL SQL 查询来从下面的 JSON 中提取数据,冷,任何人都可以帮助构建一个查询。

{
  "tranid": "1234",
  "transdtls": {
    "transdetails": [
      {
        "details": [
          {
            "name": "ABC",
            "div": "date",
            "paramList": []
          }
        ]
      }
    ]
  }
}
json oracle plsql
1个回答
0
投票

您可以使用

JSON_TABLE
提取值:

SELECT *
FROM   JSON_TABLE(
  '{
  "tranid": "1234",
  "transdtls": {
    "transdetails": [
      {
        "details": [
          {
            "name": "ABC",
            "div": "date",
            "paramList": []
          }
        ]
      }
    ]
  }
}',
         '$'
         COLUMNS (
           tranid VARCHAR2(10) PATH '$.tranid',
           NESTED PATH '$.transdtls.transdetails[*]' COLUMNS (
             NESTED PATH '$.details[*]' COLUMNS (
               name PATH '$.name',
               div  PATH '$.div'
               -- , NESTED PATH '$.paramList[*] COLUMNS ()
             )
           )
         )
       )

输出:

特兰尼德 姓名 DIV
1234 ABC 日期

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.