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

SQL Server中JSON_VALUE提取值时\n转义为换行符的解决方案问询

方案1:使用FOR JSON自动生成合法JSON(推荐)

完全不需要手动拼接JSON字符串,SQL Server原生的FOR JSON语法会自动处理所有特殊字符的转义,兼容所有JSON格式要求:

SELECT (
    SELECT 
        JSON_VALUE('{"Value": "Normal Text 304\n1212\n1212\n121\na"}', '$.Value') AS [New Value]
    FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
) AS GeneratedJson

执行后返回的结果就是合法的JSON结构,ISJSON校验返回1,内部的换行符会自动转义为\n。

方案2:用STRING_ESCAPE手动转义后拼接

如果确实需要单独提取转义后的字符串使用,可以用SQL Server自带的STRING_ESCAPE函数,指定转义规则为json即可覆盖所有JSON要求转义的特殊字符(包括换行、制表符、双引号、反斜杠等,比手动替换单种字符更全面):

-- 先拿到解析后的原始值
DECLARE @OriginalValue NVARCHAR(MAX) = JSON_VALUE('{"Value": "Normal Text 304\n1212\n1212\n121\na"}', '$.Value');
-- 转义为符合JSON格式要求的字符串
DECLARE @JsonEscapedValue NVARCHAR(MAX) = STRING_ESCAPE(@OriginalValue, 'json');
-- 拼接后校验JSON合法性,返回1
SELECT ISJSON('{"New Value": "' + @JsonEscapedValue + '"}') AS IsValidJson

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:36:08