2015-10-13 156 views
2

我想创建一个MSSQL标量函数来将字符串转换为有效的JSON。据我可以告诉换行符,返回和引号字符是一个问题,但我找不到一个完整的列表或一个完整的功能。MSSQL函数将字符串转换为有效的JSON

这是我到目前为止有:

Create Function [dbo].[StringToJSON] 
(@MyString as varchar(Max)) 
Returns varchar(Max) 
As 
Begin 
    --NULL 
    Set @MyString = Replace(@MyString,CHAR(0),' '); 
    --Horizontal Tab 
    Set @MyString = Replace(@MyString,CHAR(9),' '); 
    --Line Feed 
    Set @MyString = Replace(@MyString,CHAR(10),'\n'); 
    --Vertical Tab 
    Set @MyString = Replace(@MyString,CHAR(11),' '); 
    --Form Feed 
    Set @MyString = Replace(@MyString,CHAR(12),'\n'); 
    --Carriage Return 
    Set @MyString = Replace(@MyString,CHAR(13),'\n'); 
    --Column Break 
    Set @MyString = Replace(@MyString,CHAR(14),' '); 
    --Non-breaking space 
    Set @MyString = Replace(@MyString,CHAR(160),''); 

    Set @MyString = LTRIM(RTRIM(@MyString)); 
    Return @MyString 
End 
Go 
+1

这个环节提到其他字符:https://msdn.microsoft.com/en -us/library/dn921889.aspx –

+0

谢谢!该链接中真正有趣的是内置支持在SQL Server 2016中输出JSON - 太糟糕了,它不在早期版本中 – flan

+0

如果您认为该问题可以标记为已回答,则可以将答案标记为有效,我只是发布了我的先前的评论作为答案。谢谢。 –

回答