簡體   English   中英

無法使用 JSON_EXTRACT 在 MySQL 中提取具有特殊字符的鍵

[英]Unable to Extract Keys have special Characters in MySQL using JSON_EXTRACT

我的表(MySQL 數據庫)中有一個 json 字段。

以下是結構:

{
    "article":{
            "Key's 1":{
                "value":"24"
            }
            "Key's of the something's 2":{
                "value":"55"
            }
    }

}

我正在嘗試提取"Key's 1""value"字段。

由於單引號空格等特殊字符,我無法使用 JSON_EXTRACT 函數。

它給出了錯誤:無效的 JSON 路徑表達式。這個錯誤是圍繞字符位置沒有:10

我的查詢:

select 
    JSON_EXTRACT(analytics_json,'$.article.Key\'s 1.value')As value
from
    tbl_json_data;

即使在放置反斜杠之后,我也會收到錯誤消息。

您可以用雙引號轉義每個 JSON 路徑組件以處理特殊字符和空格。 以下工作:

SELECT 
    JSON_EXTRACT(analytics_json,'$.article."Key''s 1".value') AS value
FROM tbl_json_data;

演示

請注意,您的密鑰名稱實際上有兩個問題。 首先,它包含一個文字單引號。 我們可以通過將兩個單引號加倍來處理。 鍵名還包含空格。 通過用雙引號轉義,我們可以解決這個問題,但最好避免使用帶有空格的 JSON 鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM