【出错状况】
从数据库中返回json格式的数据,但由于数据库中的数据中有换行符,导致返回的json数据错误。
【原因分析】
用for循环语句来分析出错字段字符串中每个字符的ASCII码,可以看出存在值分别为13、10的两个字符,造成换行,导致json格式出错。
【解决方法】
用C#中string的replace函数替换掉这两个字符,下面是部分代码供参考。
jsonStr.Append(
"
'subject':'
"
+
cleanString(rd.GetString(
1
))
+
"
',
"
);
jsonStr.Append( " 'answer':' " + cleanString(rd.GetString( 2 )) + " ', " );
private string cleanString( string newStr)
{
string tempStr = newStr.Replace(( char ) 13 , ( char ) 0 );
return tempStr.Replace(( char ) 10 , ( char ) 0 );
}
jsonStr.Append( " 'answer':' " + cleanString(rd.GetString( 2 )) + " ', " );
private string cleanString( string newStr)
{
string tempStr = newStr.Replace(( char ) 13 , ( char ) 0 );
return tempStr.Replace(( char ) 10 , ( char ) 0 );
}