首頁 >資料庫 >mysql教程 >如何從基本編碼字串中解析鍵值對#eg11

如何從基本編碼字串中解析鍵值對#eg11

王林
王林原創
2024-07-18 06:58:30625瀏覽

我們有一個 Base64 編碼的字串,如下所示:

eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=

並嘗試解析轉碼後的JSON 字串({"a":63,"c":298,"n":1,"s":1,"e":40,"p":4 } )作為表格。以下是期望的結果:

Image description
MySQL 所寫的 SQL:

SELECT

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."a"') a,

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."c"') c,

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."n"') n,

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."s"') s,

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."e"') e,

            JSON_EXTRACT(CONVERT(FROM_BASE64('eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=')

                        USING utf8),

            '$."p"') p

這沒什麼難的。我們只需要將Base64編碼的字串轉換為JSON字串,然後根據K-V對將JSON解析成表即可。 SQL 編碼很複雜,特別是當結果表中的列數未知時。

 

在開源集算器SPL中編寫它很容易:

假設參數arg1的值為:

eyJhIjo2MywiYyI6Mjk4LCJuIjoxLCJzIjoxLCJlIjo0MCwicCI6NH0=

Image description
SPL作為開源的、專業的結構化資料運算語言,可以方便地處理各種資料來源,包括JSON。

以上是如何從基本編碼字串中解析鍵值對#eg11的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn