JSON

json将关系数据以JSON编码(一)(4)

字号+ 作者:H5之家 来源:H5之家 2015-11-24 17:20 我要评论( )

| user | +-------------------------------------------------------------------------------------------------------------+ |{uid:888,name:ttlsa_admin,pw:6a6e41c9b741f740cfa5f266b249d452,createtime:2013

| 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 上传

下载次数: 1
lib_mysqludf_json
售价: 2 pub币  [记录]  [购买]

lib_mysqludf_json-master_32.zip (22.92 KB, 下载次数: 0, 售价: 2 pub币)

2013-9-10 10:59 上传

下载次数: 0
mysqludf_json
售价: 2 pub币  [记录]  [购买]

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评