gpt4 book ai didi

c# - 复杂匿名对象的 ViewModel 替换

转载 作者:行者123 更新时间:2023-11-30 20:41:38 25 4
gpt4 key购买 nike

所以我正在处理这个复杂的匿名对象

        var result = new 
{
percentage = "hide",
bullets = (string)null,
item = new [] {
new {
value = 16,
text = "Day",
prefix = (string)null,
label = (string)null
},
new {
value = 41,
text = "Week",
prefix = (string)null,
label = (string)null
},
new {
value = 366,
text = "Month",
prefix = (string)null,
label = (string)null
}
}
};

我想将它转换为 ViewModel 并从 rest API 将其作为 JSON 返回。

我想知道的是

  1. 如何将其表示为包含数组项条目的模型
  2. 创建模型实例后如何将数组项添加到数组
  3. 模型是否需要构造函数来初始化数组。

如果您能提供任何帮助或示例,那就太好了。

最佳答案

创建一个具有结构的类:

public class Result
{
public Result()
{
// initialize collection
Items = new List<Item>();
}

public string Percentage { get; set; }
public string Bullets { get; set; }
public IList<Item> Items { get; set; }

}

public class Item
{
public int Value { get; set; }
public string Text { get; set; }
public string Prefix { get; set; }
public string Label { get; set; }
}

然后将您的代码更改为:

var result = new Result
{
Percentage = "hide",
Bullets = (string)null,
Items = {
new Item {
Value = 16,
Text = "Day",
Prefix = (string)null,
Label = (string)null
},
new Item {
Value = 41,
Text = "Week",
Prefix = (string)null,
Label = (string)null
},
new Item {
Value = 366,
Text = "Month",
Prefix = (string)null,
Label = (string)null
}
}
};
  1. 上面用结构解决了。
  2. 按如下方式加入收藏:

    result.Items.Add(新项目{
    值 = 367,
    文本 = "月份",
    前缀 = (string)null,
    标签=(字符串)空
    });

  3. 我会像上面那样在构造函数中初始化集合。

要从您的 Controller 操作返回 json,请添加以下内容:

return Json(result, JsonRequestBehavior.AllowGet);

关于c# - 复杂匿名对象的 ViewModel 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com