Ich entwickle eine Web-API in MVC-Projekt. Ich gebe ein JToken-Objekt in meiner Post-Methode zurück. Normalerweise meine api richtig funktioniert aber einige Male in bestimmten Daten bekomme ich diesen Fehler:"Fehler beim Konvertieren von Unicode-Zeichen \ uD83C" beim Zurückgeben von JSON aus asp.net POST-Methode
"Message": "An error has occurred.",
"ExceptionMessage": "The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; charset=utf-8'.",
"ExceptionType": "System.InvalidOperationException",
"StackTrace": null,
"InnerException": {
"Message": "An error has occurred.",
"ExceptionMessage": "Unable to translate Unicode character \\uD83C
at index 411 to specified code page."
Das ist mein post-Methode
public JToken Post([FromBody]Classes.Search search)
{
Classes.ReturnSearch returnSearch = new Classes.ReturnSearch();
try
{
string con = System.Configuration.ConfigurationManager.ConnectionStrings["TConnectionString"].ConnectionString;
SqlConnection cn = new SqlConnection(con);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("SP_Searchi", cn);
sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@word", search.word));
sqlDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@num", search.num));
DataSet d = new DataSet();
sqlDataAdapter.Fill(d);
DataTable table = d.Tables[0];
foreach(DataRow row in table.Rows)
{
string result=row[1].ToString();
returnSearch.search_items.Add(new Classes.SearchItem(row[0].ToString(), row[1].ToString(),search.word));
}
returnSearch.status = "Success";
return JObject.Parse(JsonConvert.SerializeObject(returnSearch));
}
catch (Exception e)
{
returnSearch.status = "Failed";
returnSearch.search_items = null;
ValuesController.Log("Error in Search: "+e.Message);
return JObject.Parse(JsonConvert.SerializeObject(returnSearch));
}
}
Was ist Problem ?!
['U + D83C' ist kein gültiges Unicode-Zeichen] (http://www.fileformat.info/info/unicode/char/d83c/index.htm). Wie ist dieses Zeichen in Ihrem zurückgegebenen Objekt überhaupt erschienen? – dbc
Ich ging voran und modifizierte Ihren ursprünglichen Titel * Overlapping Recycling-Ansicht nach der Rotation *, um das Problem mehr zu reflektieren. Fühlen Sie sich frei, um zurück zu ändern, wenn das unerwünscht war. – dbc