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

尼尔斯斯坦登

我对 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>

希望有人能帮我解决这个问题。

提前致谢!

雨336

您可以使用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>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将JSON结果很好地呈现到asp.net MVC视图中

如何在laravel中特定字段下的视图中显示json响应?

在视图中显示Json

ASP.Net MVC WebAPI - 如何在视图中显示 json 数据

如何在不创建对象的情况下将Java类转换为json格式结构

JSON 响应未显示在 Angularjs 视图中

如何将嵌套的 JSON 值显示到 Swift UI 中的选择器视图中?

在不创建类的情况下将列表从MVC控制器通过JSON传递到View是否可行?

如何在发送响应之前在 Django 视图中重构 JSON?

如何在Android中的JSON响应中在列表视图中显示图像

如何在表格视图中显示嵌套的JSON数据?

如何在列表视图中显示JSON对象?

如何在Angular2视图中显示JSON对象

如何在DataTable视图中显示json数据?

如何在 Laravel 刀片视图中显示 JSON 数据

如何在表视图中显示json模式

Json对象未在MVC视图中呈现

JSON MVC图表未在视图中呈现

将 JSON 显示到具有多个 json 数组的列表视图中

在不指定'.json in URL'的情况下获取json响应

Angular-在不知道结构的情况下循环在视图组件视图上显示任何json数据

ASP.NET MVC 将动态 Json 数据传递到模型中以在局部视图中返回

如何在不使用 Room 的情况下将行 JSON 响应转换为 LiveData?

Laravel 4-将JSON解码到视图中

Ionic 2:无法在视图中显示JSON响应

如何在不显式指定名称的情况下将JSON键值对投影到列

如何使用AngularJS在视图中显示JSON中的API?

角度2:如何在不向用户显示标签的情况下从JSON响应呈现HTML?

如何在没有定义结构的情况下解析 json?