方法 | 描述 |
---|---|
JSON_DEPTH(json_doc) | |
JSON_LENGTH(json_doc[, path]) | |
JSON_TYPE(json_val) | |
JSON_VALID(val) |
1.JSON_DEPTH(json_doc)
SELECT JSON_DEPTH('{}'), JSON_DEPTH('[]'), JSON_DEPTH('true'); -- 1 | 1 | 1
SELECT JSON_DEPTH('[10, 20]'), JSON_DEPTH('[[], {}]'); -- 2 | 2
SELECT JSON_DEPTH('[10, {"a": 20}]'); -- 3
2.JSON_LENGTH(json_doc[, path])
SELECT JSON_LENGTH('[1, 2, {"a": 3}]'); -- 3
SELECT JSON_LENGTH('{"a": 1, "b": {"c": 30}}'); -- 2
SELECT JSON_LENGTH('{"a": 1, "b": {"c": 30}}', '$.b'); -- 1
3.JSON_TYPE(json_val)
SET @j = '{"a": [10, true]}'; --OBJECT
SELECT JSON_TYPE(JSON_EXTRACT(@j, '$.a')); --ARRAY
SELECT JSON_TYPE(JSON_EXTRACT(@j, '$.a[0]')); --INTEGER
SELECT JSON_TYPE(JSON_EXTRACT(@j, '$.a[1]')); --BOOLEAN
4.JSON_VALID(val)
SELECT JSON_VALID('{"a": 1}'); -- 1
SELECT JSON_VALID('hello'), JSON_VALID('"hello"'); -- 0 | 1
参考:
https://blog.csdn.net/weixin_33772645/article/details/86031723
https://www.cnblogs.com/ooo0/p/9309277.html