【发布时间】:2019-11-12 17:25:54
【问题描述】:
我正在构建一个仪表板(在 .NET MVC 项目中),它基本上通过 api 接收数据并将其显示在(有点)花哨的视图中。
我收到的数据是 json 格式的,并且我知道“根”的格式(不确定这是否是谈论 json 时的正确术语,请随时纠正我),这就是这些方面的内容:
{
response :
{
fields :
[{
name : name1,
},
{
name : name2,
},
...
],
results :
[{
name1 : value1,
name2 : value2
},
{
name1 : value3,
name2 : value4
},
...
]
}
}
如您所见,数组“results”从一个响应到另一个响应各不相同,名称“name1”和“name2”是用户生成的(即不可预测的)。现在我可以反序列化 json 以使用此模型提取“字段”数组及其值:
namespace WebApplication1.Models
{
public class Field
{
public string name { get; set; }
}
public class Result
{
}
public class JsonResponse
{
public List<Field> fields { get; set; }
public List<Result> results { get; set; }
}
}
我的问题是:
当我将它传递给视图时,“结果”数组被空的“对象”填充(感觉很正常,因为模型中没有描述它们)
results: Array(5)
0: {}
1: {}
2: {}
3: {}
4: {}
我的目标是:
我希望能够在将模型传递给视图之前将“结果”的正确描述添加到模型(我可以从“字段”数组中获取),以便视图中的所有数据都可用。
尝试过的东西:
将 Json 作为字符串发送到视图并使用 JavaScript 解析它,但这不起作用,因为我们使用模型相关的引擎来显示我们的数据
使用 dynamicObj 解码 json,但我无法将其传递给视图(因为它不是模型)
哭了,但(令人惊讶的是)也没有用。
可能我现在忘记了其他一些事情。
我已经在网上搜寻了几天的解决方案,我越来越绝望,欢迎任何想法。
谢谢!
【问题讨论】:
标签: c# asp.net .net json model-view-controller