簡體   English   中英

MySQL 5.7 在 JSON_EXTRACT 鍵字符串中轉義正斜杠

[英]MySQL 5.7 Escape forward slashes in JSON_EXTRACT key string

很簡單的問題,我找不到解決方案。

我有一個簡單的 JSON 字符串:

{
  "A/B/C":"Random value"
}

它存儲在 MySQL 數據庫中。 我正在嘗試使用JSON_EXTRACT來檢索數據。

SELECT 
  JSON_EXTRACT(`json_data`, "$.A/B/C") AS 'A/B/C'
FROM `MyTable` 
WHERE 1

由於斜線,這當然會引發錯誤。 如何在不從原始 JSON 中刪除斜杠的情況下使用斜杠進行查詢?

用雙引號引用鍵名就可以得到你想要的結果; 這是必需的,因為它包含非法路徑字符(請參閱手冊)。 這意味着您需要將整個路徑用單引號括起來:

SET @json = '{
  "A/B/C":"Random value"
}'
;
SELECT JSON_EXTRACT(@json, '$."A/B/C"') AS 'A/B/C'

輸出:

A/B/C
"Random value"

dbfiddle 上的演示

暫無
暫無

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

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