MySQL 5.6 中新增了對 JSON 數據的支持,開發人員可以直接通過 SQL 查詢 JSON 數據。在解析 JSON 字符串時,MySQL 5.6 提供了一些內建函數。
首先,我們需要使用 JSON_EXTRACT 函數來解析 JSON 字符串,其語法為:
JSON_EXTRACT(json_string, path)其中,json_string 是需要解析的 JSON 字符串,path 是要提取的屬性路徑。例如,我們有以下 JSON 字符串:
{ "name": "John", "age": 30, "phones": [ { "type": "home", "number": "123456789" }, { "type": "work", "number": "987654321" } ] }如果我們要提取 phones 數組中的第二個元素的 number 屬性,可以使用以下語句:
SELECT JSON_EXTRACT(json_string, '$.phones[1].number') FROM my_table;在上述語句中,json_string 可以是數據庫中的某一字段,也可以是一個字符串常量。
除了 JSON_EXTRACT 函數,MySQL 5.6 還提供了其他一些函數,用于處理 JSON 數據,例如 JSON_OBJECT、JSON_ARRAY、JSON_ARRAY_APPEND、JSON_ARRAY_INSERT 等。
需要注意的是,MySQL 的 JSON 函數只能解析符合標準的 JSON 字符串,不支持擴展的 JSON 類型。