Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为.net中的var对象指定名称_C#_.net_Json_Linq_Var - Fatal编程技术网

C# 为.net中的var对象指定名称

C# 为.net中的var对象指定名称,c#,.net,json,linq,var,C#,.net,Json,Linq,Var,只是想知道我正在使用一个web方法将一些json数据返回到web表单。无论如何,我不希望整个类都是json,只需要其中的两列。因此,我使用linq获取列,这里是一个示例 IEnumerable<Person> model = new List<Person> { new Person { id = 1, Name = "Bryan", Phone = "218-0211", Email = "bryan@mail.mil" },

只是想知道我正在使用一个web方法将一些json数据返回到web表单。无论如何,我不希望整个类都是json,只需要其中的两列。因此,我使用linq获取列,这里是一个示例

 IEnumerable<Person> model = new List<Person>
        {
            new Person { id = 1, Name = "Bryan", Phone = "218-0211", Email = "bryan@mail.mil" },
            new Person { id = 2, Name = "Joe", Phone = "248-0241", Email = "joe@mail.mil" },
            new Person { id = 3, Name = "Fred", Phone = "354-0441", Email = "fred@mail.mil" },
            new Person { id = 4, Name = "Mary", Phone = "344-3451", Email = "mary@mail.mil" },
            new Person { id = 5, Name = "Jill", Phone = "127-3451", Email = "jill@mail.mil" }

        };
        var mysubset = from a in model select new { a. Name, a.Email };

好的,这里是实际的代码抱歉,它是在vb中,但这是我继承的项目

Dim mycollection = From a in cmpnyList select {a.CmpnyName, a.ShipFrom}
return jsSerialize.Serialize(mycollection)
从中返回的json是

[{"Company A","New York"},{"Company B", "Harrisburg"}]
所以我想找回像这样的东西

 [{"CmpnyName":"Company A", "ShipFrom": "New York"},
    {"CmpnyName": "Company B", "ShipFrom": "Harrisburg}]

我相信您使用的是json.net。使用jobjectnewtonsoft.json.linq,答案可能是这样的

JObject o = new JObject(
            new JProperty("PersonssList",
            new JArray(
                from p in model
                select new JObject(
                    new JProperty("PersonName", p.Name),
                    new JProperty("Email", p.Email)))));
结果就是这个json

{ 人员名单:[ { 人名:布莱恩, 电邮:bryan@mail.mil }, { 人名:乔, 电邮:joe@mail.mil }, { 姓名:弗雷德, 电邮:fred@mail.mil }, { 人名:玛丽, 电邮:mary@mail.mil }, { 人名:吉尔, 电邮:jill@mail.mil }
]很酷,谢谢,这很简单。好吧,只要它让我检查一下,我会检查它。你能为客户端发布json序列化逻辑吗?好的,这是实际的代码。抱歉,这是vb中的错误,这是我继承的项目。你在使用哪个序列化程序?
JObject o = new JObject(
            new JProperty("PersonssList",
            new JArray(
                from p in model
                select new JObject(
                    new JProperty("PersonName", p.Name),
                    new JProperty("Email", p.Email)))));