是否有可能在mysql查询中jsonify字符串?

时间:2013-09-13 04:36:45

标签: mysql json

我需要以json格式从表中获取值,直接使用mysql查询(在应用程序级别没有php等处理后处理)。该表的大多数字段都是整数,并且为记录构建json字符串并不困难,但是一列是text类型,我包含所有垃圾。

是否可以stringify文本类型列数据构建有效的json字符串?

查询:

 select concat('var sp_json= [',
    group_concat(
      '{"sp_no":',sp_no,',
        "sp_group_no":',sp_group_no,',
        "sp_weight":',sp_weight,',
        "dg_list":[',dg_list,'],
        "comments":\'',coalesce(comments,''),'\'}'
    order by sp_group_no
    ),
   ']') as sp_json

  from sp_dg where  pm_id=1 group by pm_id 

这会输出javascript json对象等

  var sp_json=[{},,,]

如果有的话,我需要使用内置的mysql函数对comments进行字符串化。请分享您的想法。

1 个答案:

答案 0 :(得分:0)

考虑将MySQL's String REPLACE functionthis SO answer中的概念一起使用。

E.g。 (SQL):

REPLACE(
    REPLACE(
        coalesce(comments,''),'\\','\\\\'
    ),'"','\\"'
)