为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不预定义 JSON 结构的情况下将 JSON 响应显示到 MVC 视图中?

如何在不预定义 JSON 结构的情况下将 JSON 响应显示到 MVC 视图中?

C#
慕雪6442864 2022-12-24 14:16:33
我对 ASP.NET 和 MVC 很陌生。我已经创建了一个 MVC asp.net 应用程序,我正在寻找一种方法来显示我在视图中从任何Web API 接收到的数据,而无需预定义我的 Web API 响应的 JSON 结构。我从 Web API 获取数据的控制器如下所示:[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);    }}我的看法:@using MVCApp.Controllers;@{ViewBag.Title = "Dashboard";if (Session["userID"] == null){    Response.Redirect("~/Login/Index");}else{     ((HomeController)this.ViewContext.Controller).getCall();}}<div class="row"><div class="col-md-4">    <h2>Getting started</h2>    <p>    <!-- Labels with values here! -->    </p></div><div class="col-md-4"></div><div class="col-md-4"></div>希望有人可以帮助我。
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您可以使用JObject来自 Json.Net 的 a 来读取 json 对象而无需定义类。一个例子:


{

  "key1": "value1",

  "key2": {

    "subkey1": 123

  },

  "key3": [

    3.1415926535,

    3.621,

    13.37

  ]

}

@{

string content = ...; // String containing the json data.

var json = JObject.Parse(content);

}

div class="row">

<div class="col-md-4">

    <h2>Getting started</h2>

    <p>key1: </p>

    <p>@json["key1"].Value<string>()</p><br>

    <!-- Returns "value1" -->

    <p>key2.subkey1: </p>

    <p>@json["key2"]["subkey1"].Value<int>()</p><br>

    <!-- Returns 123 -->

    <p>key3: </p>

    @foreach(var value in json["key3"].Values<double>())

    {

      <p>@value</p>

    }

    <!-- Returns -->

    <!-- 3.1415926535 -->

    <!-- 3.621 -->

    <!-- 13.37 -->

</div>

<div class="col-md-4">

</div>

<div class="col-md-4">

</div>


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信