我正在尝试在前端调用API Broker并使用此API Broker调用我的API的数据。在我的前端,我得到的JSON数据返回了带有很多反斜杠的JSON。我该如何预防呢?请参见下面的代码和错误:
在前端使用API:
[HttpGet]
public async Task<ActionResult> getCall()
{
string url = "http://localhost:54857/";
string operation = "getClients";
using (var client = new HttpClient())
{
//get logged in userID
HttpContext context = System.Web.HttpContext.Current;
string sessionID = context.Session["userID"].ToString();
//Create request and add headers
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//Custom header
client.DefaultRequestHeaders.Add("loggedInUser", sessionID);
//Response
HttpResponseMessage response = await client.GetAsync(operation);
if (response.IsSuccessStatusCode)
{
string jsondata = await response.Content.ReadAsStringAsync();
return Content(jsondata, "application/json");
}
return Json(1, JsonRequestBehavior.AllowGet);
}
}
我的Api Broker获得请求并执行此操作:
如您所见,响应内容包含很多反斜杠。
此回复要回到我的前端,在那里我收到以下内容:
在此响应中,添加了更多的反斜杠。
我希望有人意识到这个问题并知道解决方法。
谢谢!
答案 0 :(得分:0)
我通过将字符串序列化为JSON对象并反序列化来解决它。