自定义 JSON.Net 输出

Posted

技术标签:

【中文标题】自定义 JSON.Net 输出【英文标题】:Customizing JSON.Net output 【发布时间】:2011-08-10 11:12:05 【问题描述】:

背景故事:我开始在 .net 中使用 JSON 序列化程序,但很快就遇到了一些限制。

通过我需要发布数据的方式,它更多地用于生成对象图的摘要,而不是完整的数据转储。我永远不知道这些图表会有多大,它们会在哪里导致异常等等。

根据我需要做的以下是我的要求(注意其中一些我可以做到,其他我在 JSON.Net 中找不到关于我将在哪里构建功能的参考点):

尝试序列化图形时出现处理异常 - 可以 导致异常的属性仍应包含在 JSON 输出中,并且值应为异常类型 - ???? Handel 循环引用 - 可以做 修剪大弦 - 可以 对象图深度修剪 - ???? 对象图兄弟计数修剪 - ???? 对象图总节点数修剪 - ???? 以不同于其他对象的方式序列化图中的不同对象(即,不同属性具有不同的 JsonSerializerSettings) - ????

如果任何人都可以给我任何关于哪个方向能够针对各个点的指示,那就太好了。

【问题讨论】:

【参考方案1】:

您是否尝试过检查 Json.NET 中的 Linq-to-Json 以了解其中的大部分内容? (即使它可能会变得丑陋)

http://james.newtonking.com/pages/json-net.aspx

【讨论】:

以上是关于自定义 JSON.Net 输出的主要内容,如果未能解决你的问题,请参考以下文章

Json.Net 自定义 ContractResolver 忽略自定义对象

使用 Json.NET 自定义反序列化

如何在 JSON.NET 中实现自定义 JsonConverter?

使用JSON.NET实现对象属性的自定义化格式

Json.net自定义字典格式

如何使用 Json.Net 序列化/反序列化具有附加属性的自定义集合