簡體   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