[英]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.