数组的序列化返回以下JSON:
[{"Code":"AAAA","Description":"Description of AAAA"},{"Code":"BBBB","Description":"Description of BBBB"}]
我的目标是返回以下JSON:
{"AAAA":{"Description":"Description of AAAA"},"BBBB":{"Description":"Description of BBBB"}}
答案 0 :(得分:3)
如果不是序列化数组,而是构建临时字典并对其进行序列化,那么您可以实现 simliar (与您期望的完全不同)
。var dict = new Dictionary<String, YourClass>();
foreach (YourClass yourObj in listOfObjs)
{
dict[yourObj.Code] = yourObj;
}
// then serialize "dict"
您可以向JSON序列化程序添加一条规则,以避免在YourClass
中序列化“代码”属性,并且您最终会得到一个JSON对象完全,就像您在示例
答案 1 :(得分:1)
您需要使用具有“AAAA”和“BBBB”属性的类,或者您需要序列化字典。实际上,您正在序列化数组并获取数组。
答案 2 :(得分:0)
this blog post上的表格显示了几个搜索起点。
.Net内置了System.Web.Script.Serialization.JavaScriptSerializer,here, with examples
.Net网站并没有按照你想要的方式特别序列化字典,但我相信其他一些字典。但是,我认为有理由不按照你要求的方式想要一般的序列化例程 - 虽然我不能肯定地列出它们。