如何从multiples对象创建一个类对象?

时间:2016-12-09 05:08:43

标签: javascript c#

我正在尝试为数据创建一个结构。我有三种类型的项目,我想创建一个订单对象。订单对象可以具有每种类型的项目的倍数。目前有三种类型。每种类型都有自己的详细信息(包括详细信息,包含,排除等列表),但这里没有给出。 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的集合。

1 个答案:

答案 0 :(得分:3)

您需要按照以下方式构建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 查看上述结构的工作示例。