Javascript 如何在asp.net MVC视图中解析ContentResult.Content类型的对象?

Javascript 如何在asp.net MVC视图中解析ContentResult.Content类型的对象?,javascript,c#,json,asp.net-mvc,parsing,Javascript,C#,Json,Asp.net Mvc,Parsing,我正在调用一个web API,响应作为ContentResult.Content对象返回。我在asp.net MVC视图中检索此数据,并尝试在标签中显示此数据,但我不知道如何将此对象解析为可以使用的内容 控制器代码: [HttpGet] public async Task<ActionResult> getCall() { string url = "http://localhost:51080/"; string customerAp

我正在调用一个web API,响应作为ContentResult.Content对象返回。我在asp.net MVC视图中检索此数据,并尝试在标签中显示此数据,但我不知道如何将此对象解析为可以使用的内容

控制器代码:

[HttpGet]
    public async Task<ActionResult> getCall()
    {
        string url = "http://localhost:51080/";
        string customerApi = "customer/1";

        using (var client = new HttpClient())
        {
            client.BaseAddress = new Uri(url);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            HttpResponseMessage response = await client.GetAsync(customerApi);
            if (response.IsSuccessStatusCode)
            {
                string jsondata = await response.Content.ReadAsStringAsync();
                return Content(jsondata, "application/json");
            }
            return Json(1, JsonRequestBehavior.AllowGet);
        }
    }
[HttpGet]
公共异步任务getCall()
{
字符串url=”http://localhost:51080/";
字符串customerApi=“customer/1”;
使用(var client=new HttpClient())
{
client.BaseAddress=新Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage response=wait client.GetAsync(customerApi);
if(响应。IsSuccessStatusCode)
{
string jsondata=await response.Content.ReadAsStringAsync();
返回内容(jsondata,“应用程序/json”);
}
返回Json(1,JsonRequestBehavior.AllowGet);
}
}
视图:

@使用MVCApp.控制器;
@{
ViewBag.Title=“仪表板”;
if(会话[“userID”]==null)
{
重定向(“~/Login/Index”);
}
}
开始

@节脚本{ $(文档).ready(函数(){ $.getJSON('/Home/getCall/',函数(数据){ //在这里解析对象 }); }); }
如果您的问题是无法向控制器发送数据,为什么不使用Ajax调用和JSON.Stringify?这不是最好的方法。我认为最好在控制器中执行此签入操作,而不是在视图中<代码>((HomeController)this.ViewContext.Controller).getCall()肯定是错的。@RomanKoliada是的,我删除了这个代码。我将对此进行调整。@JamesS我不想向控制器发送数据,我在ContentResult.Content对象中接收来自控制器的数据,我不确定如何将其解析为我可以使用的内容。@JamesS,这段代码确实可以工作,但返回了一个字符串,我无法获取json响应的元素,因为它现在是一个字符串。如果您的问题是您不能/无法向控制器发送数据,为什么不使用Ajax调用和json.Stringify?这不是最好的方法。我认为最好在控制器中执行此签入操作,而不是在视图中<代码>((HomeController)this.ViewContext.Controller).getCall()肯定是错的。@RomanKoliada是的,我删除了这个代码。我将对此进行调整。@JamesS我不想向控制器发送数据,我在ContentResult.Content对象中接收来自控制器的数据,我不确定如何将其解析为我可以使用的内容。@JamesS,此代码确实可以使用,但返回字符串,我无法获取json响应的元素,因为它现在是字符串。
@using MVCApp.Controllers;

@{
ViewBag.Title = "Dashboard";
if (Session["userID"] == null)
{
    Response.Redirect("~/Login/Index");
}
}

<div class="row">
<div class="col-md-4">
    <h2>Getting started</h2>
    <p>
    <!-- Labels with values here! -->
    </p>
</div>
<p id="rData">
</p>
<div class="col-md-4">
</div>
</div>

@section scripts {
<script>

$(document).ready(function () {
    $.getJSON('/Home/getCall/', function (data) {
      // parse object here
    });
});
</script>
}