【出錯狀況】
從數據庫中返回json格式的數據,但由於數據庫中的數據中有換行符,導致返回的json數據錯誤。
在使用JS控制點擊之后效果的時候,有些不能點擊,最后發現是換行符的問題,將換行符去掉之后一切正常。
【原因分析】
用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 );
}

