Javascript 如何序列化列表<;对象>;使用变量值创建JSON?

Javascript 如何序列化列表<;对象>;使用变量值创建JSON?,javascript,c#,json,serialization,asp.net-mvc-5,Javascript,C#,Json,Serialization,Asp.net Mvc 5,我需要序列化对象列表,但不使用“默认方式”: 假设我在C#上这门课: 相反,我希望得到以下结果: {"vKey1": "value1"}, {"vKey2": "value2"} 编辑: 这是所需的输出: {"vKey1": "value1", "vKey2": "value2"} 我希望第一个变量的内容是JS属性名,第二个变量的内容是它的值 有什么想法吗?我已经看到了这个解决方案: 但我不想将我的对象列表转换成字典,这样我就可以使用string.format解决方案再次转换它 谢谢 如果

我需要序列化对象列表,但不使用“默认方式”:

假设我在C#上这门课:

相反,我希望得到以下结果:

{"vKey1": "value1"}, {"vKey2": "value2"}
编辑:

这是所需的输出:

{"vKey1": "value1", "vKey2": "value2"}
我希望第一个变量的内容是JS属性名,第二个变量的内容是它的值

有什么想法吗?我已经看到了这个解决方案:

但我不想将我的对象列表转换成字典,这样我就可以使用string.format解决方案再次转换它

谢谢

如果您使用的是JSON.Net(我假设您使用的是MVC 5),那么您可以将列表转换为

List<Dictionary<string, string>>
编辑:

要反映所需的解决方案:


tests.ForEach(x=>tests2.Add(x.Name,x.Value))

这是一种更通用的方法,不需要列表(只是一个IEnumerable)

var测试=新列表
{
新测试{Key=“vKey1”,Value=“value1”},
新测试{Key=“vKey2”,Value=“value2”}
};
var dict=tests.ToDictionary(t=>t.Key,t=>t.Value);
返回Json(dict);

可能重复@MethodMan我理解你为什么这么想,但我不确定我是否同意。在研究了提议的问题/解决方案之后,另一个OP在一个属性中有一个字符串,他希望单独序列化,并且他的字符串已经是json格式,而我有一个具有两个属性的完整类(也可以在linq select中完成)我希望这些属性以这种方式被序列化这很酷尝试新的东西或跳出框框思考没有什么错。。这完全是你的选择……:)谢谢你,我现在就去试试。BRB与结果。呃,对不起,我给出了错误的输出。它不应该作为数组返回,而是具有以下属性的对象:
{“vKey1”:“value1”,“vKey2”:“value2”}
。我接受你的答案,因为它确实回答了我的问题,我的期望输出是错误的。我正在考虑你的解决方案,你认为有可能合并这个数组并将其转化为一个对象吗?没关系,我的缺点是没有注意到你的代码。。。这就是我一直在寻找的解决方案:
tests.ForEach(x=>tests2.Add(x.Name,x.Value)){"vKey1": "value1", "vKey2": "value2"}
List<Dictionary<string, string>>
public ActionResult Test()
{
    tests = new List<Test>
    {
        new Test {Key = "vKey1", Value = "value1"},
        new Test {Key = "vKey2", Value = "value2"}
    };

    var tests2 = new List<Dictionary<string, string>>();

    tests.ForEach(x => tests2.Add(new Dictionary<string, string>
    {
        { x.Key, x.Value }
    }));

    return Json(tests2, JsonRequestBehavior.AllowGet);
}
[{"vKey1":"value1"},{"vKey2":"value2"}]
var tests = new List<Test>
{
    new Test {Key = "vKey1", Value = "value1"},
    new Test {Key = "vKey2", Value = "value2"}
};

var dict = tests.ToDictionary(t => t.Key, t => t.Value);

return Json(dict);