JSON

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

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

4.2.1 [arg1,..,argN] 值可以是任何类型包括空。 表达式文本作为成员名称,也就是键。目的是很容易的将纯表中的数据转换成JSON对象。表达式会被检查以确认产生的是一个有效的javascript标识符。 有时,使用表达式作

4.2.1 [arg1,..,argN]
值可以是任何类型包括空。 表达式文本作为成员名称,也就是键。目的是很容易的将纯表中的数据转换成JSON对象。表达式会被检查以确认产生的是一个有效的javascript标识符。
有时,使用表达式作为成员名称并不恰当,可以使用别名。

4.2.2 返回
求javascript表达式的javascript值(关联数组)

4.2.3 安装

    

1

  

2

      

mysql> CREATE FUNCTION json_object RETURNS STRING  SONAME 'lib_mysqludf_json.so';

  

Query OK, 0 rows affected (0.00 sec)

  

查看:

    

1

  

2

  

3

  

4

  

5

  

6

  

7

  

8

      

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 |

  

+-------------+-----+----------------------+----------+

  

2 rows in set (0.00 sec)

  

卸载:

    

1

      

mysql> DROP FUNCTION json_object;

  

4.2.4 实例

    

1

  

2

  

3

  

4

  

5

  

6

  

7

      

mysql> select json_object(uid, username as name,  password as pw, createtime) from ttlsa_users;

  

+-------------------------------------------------------------------------------------------------------------+

  

| json_object(uid, username as name, password as pw,  createtime) |

  

+-------------------------------------------------------------------------------------------------------------+

  

|  {"uid":888,"name":"ttlsa_admin","pw":"6a6e41c9b741f740cfa5f266b249d452","createtime":"2013-08-10  11:27:01"} |

  

+-------------------------------------------------------------------------------------------------------------+

  

1 row in set (0.00 sec)

    

mysql> select json_object(uid as  "uid",username as "name",password as  "pw",createtime) as user from ttlsa_users;

  

ERROR 1123 (HY000): Can't initialize function  'json_object'; Invalid json member name - name cannot be empty

  

以上错误这样解决,给每个成员名称使用别名即可:

  

mysql> select json_object(uid as uid,username as name,password  as pw,createtime as createtime) as user from ttlsa_users;

  

+-------------------------------------------------------------------------------------------------------------+

  

 

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

相关文章
网友点评