| user |
+-------------------------------------------------------------------------------------------------------------+
| {"uid":888,"name":"ttlsa_admin","pw":"6a6e41c9b741f740cfa5f266b249d452","createtime":"2013-09-10 09:58:23"} |
+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
json_object可以与json_members结合使用。
4.3 json_members(name1,value1[,..,..,nameN,valueN])
该函数可以用来对任意的名称设置name-value对的JSON对象成员列表。
自动映射不会处理嵌套的对象,说白了就是关联数组的关联数组,如array(‘website’=>array(‘网址’=>’’,'QQ群’=>39514058)),json_members相当于’website’,json_object相当于array(‘网址’=>’’,'QQ群’=>39514058)。
json_members函数的目的是方便创建嵌套的JSON对象。
4.3.1 name1,value1[,..,..,nameN,valueN]
一系列的name-value对。name作为JSON对象成员的成员名称,value是该成员的值。
4.3.2 返回
以逗号分割的JSON关联值的JSON成员名称。
如果名称是一个常量表达式,需要检查是否是有效的JSON成员名称。如果名称不是常量,不执行检查。
4.3.3 安装
1
2
mysql> CREATE FUNCTION json_members RETURNS STRING SONAME 'lib_mysqludf_json.so';
Query OK, 0 rows affected (0.00 sec)
查看:
1
2
3
4
5
6
7
8
9
mysql> select * from mysql.func;
+--------------+-----+----------------------+----------+
| name | ret | dl | type |
+--------------+-----+----------------------+----------+
| json_array | 0 | lib_mysqludf_json.so | function |
| json_object | 0 | lib_mysqludf_json.so | function |
| json_members | 0 | lib_mysqludf_json.so | function |
+--------------+-----+----------------------+----------+
3 rows in set (0.00 sec)
卸载:
1
mysql> DROP FUNCTION json_members;
4.3.4 实例
1
2
3
4
5
6
7
mysql> select json_object(uid,json_members('user_info',json_object(username as name)),json_data) from ttlsa_users;
+------------------------------------------------------------------------------------+
| json_object(uid,json_members('user_info',json_object(username as name)),json_data) |
+------------------------------------------------------------------------------------+
| {"uid":888,"user_info":{"name":"ttlsa_admin"},\website\ - ""} |
+------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
再给大家附上lib_mysqludf_json——64bit和32bit的类库。
lib_mysqludf_json-x86_64.rar (4.9 KB, 下载次数: 1, 售价: 2 pub币)
2013-9-10 11:01 上传
下载次数: 1lib_mysqludf_json
售价: 2 pub币 [记录] [购买]
lib_mysqludf_json-master_32.zip (22.92 KB, 下载次数: 0, 售价: 2 pub币)
2013-9-10 10:59 上传
下载次数: 0mysqludf_json
售价: 2 pub币 [记录] [购买]