2016-10-18 54 views
1

訪問JSON鍵MySQL表具有以下格式:含有結腸和連字符

CREATE TABLE bar... 
    ... 
    foo JSON 
    ... 

領域foo具有此內容:

{"#:8": 0.90189, "#:34": 0.90239, "#:55": 0.90238, "#:144": 0.90219, "X:21-34": -1} 

該命令失敗:

SELECT foo FROM bar WHERE foo->'$.X:21-34' != 0; 

錯誤(4,1):無效的JSON路徑表達式。誤差在 字符位置9

如何訪問那些有一定特殊字符在關鍵的名字,但JSON字符串仍然是有效的領域? OMG。

回答

2

OMG。這非常簡單而且合乎邏輯。這是解決方案:

SELECT foo FROM bar WHERE foo->'$."X:21-34"' != 0; 

我必須在密鑰名稱周圍使用雙引號。