我在 MVC 项目中开发了一个 web api。我在我的 post 方法中返回一个 JToken 对象。通常我的 api 工作正常,但有时在特定数据中我会收到此错误:
"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."
这是我的发帖方式
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));
}
}
有什么问题?!
最佳答案
这是一个表情符号修改器。您可能会在解析输入的表情符号后看到它(可以拆分为多个\u#### 实例)。
关于c# - 从 asp.net POST 方法返回 JSON 时出现 "Unable to translate Unicode character\\uD83C"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295824/