替换要转化为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数据”的方法。俗话说:条条道路通罗马。如果你们有其他的方法,谢谢来分享!