繁体   English   中英

使用 .NET 将数组序列化为 JSON 对象

[英]Serialize an array into JSON objects using .NET

数组的序列化返回如下 JSON:

[{"Code":"AAAA","Description":"Description of AAAA"},{"Code":"BBBB","Description":"Description of BBBB"}]

我的目标是返回以下 JSON:

{"AAAA":{"Description":"Description of AAAA"},"BBBB":{"Description":"Description of BBBB"}}

如果不是序列化数组,而是构建一个临时 Dictionary 并对其进行序列化,那么您可以获得类似的东西(与您期望的不完全相同)。

var dict = new Dictionary<String, YourClass>();
foreach (YourClass yourObj in listOfObjs)
{
    dict[yourObj.Code] = yourObj;
}
// then serialize "dict"

您可以在 JSON 序列化程序中添加一条规则,以使其避免序列化YourClass中的“代码”属性,您最终将得到一个 JSON object 与您的示例完全相同

您需要使用具有“AAAA”和“BBBB”属性的 class,或者您需要序列化字典。 实际上,您正在序列化一个数组并获取一个数组。

此博客文章中的表格显示了几个搜索起点。

.Net内置了System.Web.Script.Serialization.JavaScriptSerializer, 这里有例子

我相信,.Net 不会以您想要的方式专门序列化 Dictionary,但其他一些会这样做。 但是,我认为有理由不想要您要求的通用序列化例程 - 尽管我不能肯定地列出它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM