C# ASP.NET替换要转化为json的数据中的特殊符号

替换要转化为json的数据中的特殊符号

1.   分析和解决

1.1    问题分析

当我们将数据库中的数据读取出来,转换为json数据的时候,中间可能会遇到这样的事情:数据库中的某些字段中的值有些特殊字符(例如:”、’、\等等)。如果在转换为json数据之前不替换的话,json可能不能验证通过,从而影响你接下来的工作。

1.2    问题解决

我这里采用一种替换转义的方式来修改数据:

/// <summary>

         ///   替换部分字符串

         /// </summary>

         /// <param name="sPassed">需要替换的字符串</param>

         /// <returns></returns>

         private static string ReplaceString(string sContent)

         {

             if (sContent == null) { return sContent; }

             if (sContent.Contains("\\"))

             {

                 sContent = sContent.Replace("\\", "\\\\");

             }

             if (sContent.Contains("\'"))

             {

                 sContent = sContent.Replace("\'", "\\\'");

             }

             if (sContent.Contains("\""))

             {

                 sContent = sContent.Replace("\"", "\\\"");

             }

             //去掉字符串的回车换行符

             sContent = Regex.Replace(sContent, @"[\n\r]", "");

             sContent = sContent.Trim();

             return sContent;

         }

将源数据中的’、”、\\、空格、换行等都替换成转义符,这样你拼接的json数据就是正常的,显示出来格式和数据库中的一样。

1.3     分享

这只是一种处理“包含特殊字符的数据转换为json数据”的方法。俗话说:条条道路通罗马。如果你们有其他的方法,谢谢来分享!