如何解决RestSharp内容响应返回错误的json格式
我正在使用RestSharp库向WebApi发出请求。 这就是我的做法:
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type","application/json");
request.AddHeader("Authorization",autentication);
RestSharp.IRestResponse response = client.Execute(request);
到这里为止,效果很好。我遇到的问题是响应的内容正在像这样返回:
string jsonObject2 = "\"{\\\"status\\\":\\\"success\\\",\\\"entities\\\":[{\\\"bank_code\\\":2,\\\"name\\\":\\\"BANK 02\\\"},{\\\"bank_code\\\":3,\\\"name\\\":\\\"BANCK 03\\\"},{\\\"bank_code\\\":4,\\\"name\\\":\\\"BANCK 04\\\"}]}\"";
response.content增加了2个\,当我尝试反序列化时,它引发了一个异常,即无法将字符串转换为我的模型。
我如何确定内容以这种格式返回?
string jsonObject = "{\"status\":\"success\",\"entities\":[{\"bank_code\":2,\"name\":\"BANK 02\"},{\"bank_code\":3,\"name\":\"BANK 03\"},{\"bank_code\":4,\"name\":\"BANK 04\"}]}";
由于正确的字符串json格式,我可以反序列化此格式。
解决方法
当我反序列化返回API的内容,然后再次将字符串反序列化为我想要的模型类型时,它将起作用。
string jsonData = JsonConvert.DeserializeObject<string>(restResponse.Content);
EntidadResponse data = JsonConvert.DeserializeObject<EntidadResponse>(jsonData);
,
string result = string.Empty;
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
result = await reader.ReadToEndAsync();
}
return Content(result,"application/json");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。