【问题标题】:How to create a class object from multiples object?如何从多个对象创建一个类对象?
【发布时间】:2016-12-09 05:08:42
【问题描述】:

我正在尝试为数据创建一个结构。我拥有的是三种类型的项目,我想创建一个订单对象。一个订单对象可以有多个每种类型的项目。目前分为三种。每种类型都有自己的详细信息(包括详细信息列表、包含项、排除项等),但此处未给出。 Type3 是特殊的,因为它包含 type1 和 type2 对象的列表(type3 = 由 type1 和 type2 组成的特殊组合)。

到目前为止,我的 C# 结构如下

class type1{ string name{get; set;}}
class type2{ string name{get; set;}}
class type3{ 
List<type1> singleItems {get; set;}
List<type2> singleItems {get; set;}
}

var order = new {tp1 = List<type1>, tp2 = List<type2>, tp3 = List<type3>};

现在在 Javascript 中,我正在尝试做同样的事情,但不确定如何获得相同的结构。到目前为止,这就是我所拥有的,但不知道括号中专门针对 tp3 的内容。

var order = {tp1:[{}],tp2:[{}],tp3:[{}]}

简单来说,订单是三个列表 tp1、tp2 和 tp3 的集合。其中 tp3 本身是 tp1 和 tp2 的集合。

【问题讨论】:

  • 使用非空列表创建type3 的对象,将其序列化为 JSON 并查看生成的内容。附带说明:您的类 type3 不会编译,因为两个属性具有相同的名称。
  • 好主意,我会试试的。

标签: javascript c#


【解决方案1】:

您需要按如下方式构建您的 JavaScript 模型。

{
  "tp1": [{
    "name": "raj"
  }, {
    "name": "Reddy"
  }],
  "tp2": [{
    "name": "stack"
  }, {
    "name": "overflow"
  }],
  "tp3": [{
    "tp1": [{
      "name": "raj"
    }, {
      "name": "Reddy"
    }],
    "tp2": [{
      "name": "stack"
    }, {
      "name": "overflow"
    }]
  }, {
    "tp1": [{
      "name": "raj"
    }, {
      "name": "Reddy"
    }],
    "tp2": [{
      "name": "stack"
    }, {
      "name": "overflow"
    }]
  }]
}

还有你需要构造的 C# 类对象,如下所示。

public class Orders
{
    public List<Type1> tp1 { get; set; }
    public List<Type2> tp2 { get; set; }
    public List<Type3> tp3 { get; set; }
}

public class Type1
{
    public string name { get; set; }
}
public class Type2
{
    public string name { get; set; }
}

public class Type3
{
    public List<Type1> tp1 { get; set; }
    public List<Type2> tp2 { get; set; }
}

您可以download the sample project查看上述结构的工作示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多