复杂的C#对象

Sea*_*_05 2 .net javascript c# asp.net-web-api

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

            var data = {
                "dealer": {
                    "keyId": "vfase32sd",  
                     "name": "mark"
                },
                "seller": [
                    {
                        "email": "email@email.com",
                        "active":false
                    }
                ],
                "state": [
                    "TN",
                    "TX"
                ]};
Run Code Online (Sandbox Code Playgroud)

Rez*_*aei 9

请参见对象和集合初始化程序

具有匿名类型的对象初始值设定项

尽管可以在任何上下文中使用对象初始值设定项,但它们在LINQ查询表达式中尤其有用.查询表达式经常使用匿名类型,只能使用对象初始化程序对其进行初始化,如以下声明中所示.

var pet = new { Age = 10, Name = "Fluffy" };
Run Code Online (Sandbox Code Playgroud)

例如:

var data = new
{
    dealer = new
    {
        keyId = "vfase32sd",
        name = "mark"
    },
    seller = new[] {
        new {
            email= "email@email.com",
            active= false
        }
    },
    state = new[]{
        "TN",
        "TX"
    }
};
Run Code Online (Sandbox Code Playgroud)

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

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