我有一个可以的字符串:
[
{
Id:{
editable:false,
nullable:true
}
},
{
Product:{
validation:{
required:true
}
}
},
{
Cost:{
type:"number",
validation:{
required:true
}
}
}
]
它也可以是这样的:
[
{
Id:{
editable:false,
nullable:true
}
},
{
Car:{
validation:{
required:true
}
}
},
{
Make:{
validation:{
required:true
}
}
}
]
关键是字符串将始终具有带有一些可预测值的Id字段,但其他字段可以命名为任何字段。
我有一些javascript,我需要看起来像这样:
schema: {
model: {
id: "Id",
fields: {
Id: { editable: false, nullable: true },
Product: { validation: { required: true } },
Cost: { type: "number", validation: { required: true }}
}
}
}
...字段内容需要关联字符串。
目前我有一个ajax调用,可以获取我的代码需要的其他数据,我也想给它我需要的字段结果。我想像这样替换json:
schema: {
model: {
id: "Id",
fields: ajaxResult.fields
}
}
}
正常的路由是创建一个可以反序列化json字符串的类(或多个类),但在这种情况下,json字符串中的字段可以完全是任意的。 所以我无法为此创建课程,因为我不知道这些属性将被称为 。
如何反序列化这个字符串,这样当我从我的Action中返回它时,它会像我描述的那样工作?
目前我的控制器操作看起来像这样:
public IActionResult GetJsonData(Guid id)
{
var model = new GridDataModel
{
schema = SchemaToJson(id),
//fields = FieldsToJson(id),
gridData = RowsToJson(id)
};
return Json(model);
}
答案 0 :(得分:4)
在Visual Studio 2015中,您可以使用"粘贴特殊"函数,Visual Studio将为您生成所有类(包括嵌套类等),不需要您自己编码的单行:
请参阅下面的动画:(原始GIF来自here。)