0

我需要直接使用 mysql 查询从 json 格式的表中获取值(在应用程序级别没有在 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=[{},,,]

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

4

1 回答 1

0

考虑将MySQL 的 StringREPLACE函数此 SO 答案中的概念一起使用。

例如(SQL):

REPLACE(
    REPLACE(
        coalesce(comments,''),'\\','\\\\'
    ),'"','\\"'
)
于 2013-09-13T04:44:14.383 回答