C# 如何创建类似列表的集合<;字符串,对象>;?
我需要创建一个类似于C# 如何创建类似列表的集合<;字符串,对象>;?,c#,json,list,serialization,json.net,C#,Json,List,Serialization,Json.net,我需要创建一个类似于list的列表,但我似乎无法做到这一点 我创建了一个类: public class Pair { public String Key { get; set; } public Object Value { get; set; } } 如果我制作一个列表,当我必须将其序列化为JSON时,我的问题就开始了,我会得到如下结果: { "Key": "version", "Value": "3.2.1" }, { "Key": "name",
list
的列表,但我似乎无法做到这一点
我创建了一个类:
public class Pair
{
public String Key { get; set; }
public Object Value { get; set; }
}
如果我制作一个列表
,当我必须将其序列化为JSON时,我的问题就开始了,我会得到如下结果:
{
"Key": "version",
"Value": "3.2.1"
},
{
"Key": "name",
"Value": "coordinateOperations"
}
{
“密钥”:“版本”,
“值”:“3.2.1”
},
{
“键”:“名称”,
“值”:“协调操作”
}
在我期待的时候:
{
"version": "3.2.1"
},
{
"name": "coordinateOperations"
}
{
“版本”:“3.2.1”
},
{
“名称”:“协调操作”
}
我的猜测是,我必须找到一种方法,要么让列表,要么控制序列化机制。后者看起来更难,看起来更像是一个骗局,而不是一个真正的解决方案
另外,我不能拥有字典,因为我会有重复的键。也许更需要查找 为什么要创建自己的?您可以使用KeyValuePair
List<KeyValuePair<String, Object>> nList = new List<KeyValuePair<String, Object>>();
List nList=新列表();
如果您的密钥是唯一的,您可以使用OWIN使用的,即IDictionary
如何序列化?我相信有可能会提示转换器所需的格式。我使用JSON.Net进行序列化。在快速查看文档后,我找到了一种自定义自定义类序列化的方法:。应该有更简单的方法。这看起来很复杂!!只需使用上述方法创建一个自定义对象并重写.ToString()方法。。我想那就行了。我同意这个答案。您必须为所需的JSON创建一个自定义序列化器/反序列化器约定,否则.Net将不知道哪个属性去哪里,因为没有名为“version”或“name”的属性。关于如何开始此操作的任何提示?@ashutshraina我同样需要重复的“key”。既然这是最好的答案,你介意发布你的解决方案吗?谢谢。OP写道:“我不能有字典,因为我会有重复的键。”所以你的解决方案在这里不起作用。