复杂的C#对象

时间:2015-09-18 00:26:13

标签: javascript c# .net asp.net-web-api

我习惯于制作像下面这样的JavaScript对象但是用C#做同样的事情的最快方法是什么?只是静态数据将被序列化为不会改变的帖子。在过去使用C#我会为所有内容创建类和列表,但在这种情况下我只需要发送一些练习数据。任何帮助将不胜感激

            var data = {
                "dealer": {
                    "keyId": "vfase32sd",  
                     "name": "mark"
                },
                "seller": [
                    {
                        "email": "email@email.com",
                        "active":false
                    }
                ],
                "state": [
                    "TN",
                    "TX"
                ]};

2 个答案:

答案 0 :(得分:9)

请参阅Object and Collection Initializers

  

匿名类型的对象初始化程序

     

虽然对象初始化器可以在任何上下文中使用,但它们在特别有用   LINQ查询表达式。查询表达式经常使用   匿名类型,只能使用对象初始化   初始化程序,如以下声明中所示。

var pet = new { Age = 10, Name = "Fluffy" };

例如:

var data = new
{
    dealer = new
    {
        keyId = "vfase32sd",
        name = "mark"
    },
    seller = new[] {
        new {
            email= "email@email.com",
            active= false
        }
    },
    state = new[]{
        "TN",
        "TX"
    }
};

将js对象转换为c#对象的规则很简单:

  • "x":将为x=
  • {}将为new {}
  • []将为new []{}
  • 值保持不变

答案 1 :(得分:2)

您可以使用C#的动态输入功能

var data = new 
{
    dealer = new 
    {
        keyId = "vfase32sd", 
        name =  "mark",
    },
    seller = new[] 
    {
        new 
        {
            email = "email@email.com",
            active = false
        }
    },
    state = new [] 
    {
        "TN",
        "TX"
    }
};