繁体   English   中英

如何提取嵌套的 json?

[英]How to extract nested json?

我有一个表名“我的文档”。 还有一列是嵌套的 json,称为“元素”。 结构如下。

我想将 element_id 提取为一列。 如何用 sql 制作它? 谢谢

{
   “element”: {
     “1”: {
          “element_id”:”3jakd4ks”,
          “type”: “square”,
          “name”: “eggplant”
           },
      
      “2”: {
          “element_id”:” ieh3iusk”;
          “type”: “circle”,
          “name”: “orange”
           },

      “3”: {
          “element_id”:”766wjdhh”;
          “type”: “circle”,
          “name”: “apple”
           }
      }
}

如果您正在使用 SQL 服务器,并且您的数据存储在表中,则语法将是这样的。 您的架构可能不同,但请参阅 Microsoft 文档了解更多详细信息。 https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15

SELECT  v.*
FROM    Table1 AS t
        CROSS APPLY
        OPENJSON(t.JSONColumn)
        WITH (
                 ResultID NVARCHAR(MAX) '$.element' AS JSON
             ) AS Returned
        CROSS APPLY (
                        SELECT  element_id
                                ,type
                                ,name
                        FROM
                                OPENJSON(Returned.ResultID)
                                WITH (
                                         element_id VARCHAR(MAX) '$.element_id'
                                         ,type VARCHAR(MAX) '$.type'
                                         ,name VARCHAR(MAX) '$.name'
                                     )
                    ) AS v;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM