response.Content.ReadAsStringAsync().Result 返回的Json字串中文字变成\u8d44\u4ea7这种字符

ivanl 2020-08-27 04:20:47
private void HttpSendRequest(string HTTPMethods,string RequestURL, string epicorLogin, string XAPIKey, string jsonStr, ref string ResponseStatusCode, ref string ResponseBody, ref string IsSuccessStatusCode, ref string ErrorMessage, ref string ExceptionMsg)
{
try
{
//Ignore SSL certificates
var handler = new WebRequestHandler();
handler.ServerCertificateValidationCallback = delegate { return true; };

using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(epicorLogin)));
// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("X-API-Key", XAPIKey);
string TokenCreateURL = RequestURL;
var request = new HttpRequestMessage();
HttpResponseMessage response = null;

if (HTTPMethods == "POST")
{
request.RequestUri = new Uri(TokenCreateURL);
request.Method = HttpMethod.Post;

//send user credential
request.Content = new StringContent(jsonStr, Encoding.UTF8, "application/json");

response = client.SendAsync(request).Result;



ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}

if (HTTPMethods == "DELETE")
{
response = client.DeleteAsync(TokenCreateURL).Result;
ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}

if (HTTPMethods == "GET")
{
response = client.GetAsync(TokenCreateURL).Result;
ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}

//Get response


if (response.IsSuccessStatusCode)
{
IsSuccessStatusCode = "Yes";
}
else
{
IsSuccessStatusCode = "No";
}

ResponseBody = response.Content.ReadAsStringAsync().Result;

//Deserialize ResponseBody and catch "ErrorMessage"
if (ResponseBody.IndexOf("\"ErrorMessage\"") > 0)
{
dynamic dyn = Newtonsoft.Json.JsonConvert.DeserializeObject(ResponseBody);

foreach (var obj in dyn)
{
if (obj.Name == "ErrorMessage")
{
ErrorMessage = Convert.ToString(obj.Value);
break;
}
}
}
}
}
catch (AggregateException ex)
{
ExceptionMsg = ex.ToString();
}
}
...全文
1327 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
木v知 2022-03-07
  • 打赏
  • 举报
回复

楼主解决了么

木v知 2022-03-08
  • 举报
回复
@木v知 发现只是因为接口做了Unicode编码,解码之后就可以了

28,403

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧