You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PG12处理Quill Editor生成的JSON时如何移除内容内换行符实现单行输出

问题原因

你之前的替换逻辑不生效,是因为PostgreSQL中普通单引号包裹的'\n'会被识别为「反斜杠+字母n」两个独立字符,而非实际的换行符,需要使用转义字符串语法E'\n'才能匹配真实的换行符。

修改后完整函数

CREATE OR REPLACE FUNCTION public.fun(
    j json)
    RETURNS text
    LANGUAGE 'plpgsql' immutable
AS $BODY$
begin
  return string_agg(replace(obj->>'insert', E'\n', '') || ' ', '')
  FROM json_array_elements(j->'ops') obj;
end;
$BODY$;

测试验证

执行你提供的测试语句:
select * from fun('{"ops":[{"insert":"1st line\n."},{"insert":"2nd line."},{"insert":"333"}]}')
返回结果为1st line. 2nd line. 333,符合需求。

可选优化

如果需要去除最终结果首尾多余的空格,可以在外层加trim()函数:

return trim(string_agg(replace(obj->>'insert', E'\n', '') || ' ', ''));

内容的提问来源于stack exchange,提问作者Jeb50

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:24:02