相关疑难解决方法(0)

JSON.net ContractResolver与JsonConverter

我已经和JSON.net合作了一段时间.我已经编写了自定义转换器和自定义合同解析器(通常来自修改SO和Newtonsoft网站上的示例),它们工作正常.

除了例子之外,我面临的挑战是,我什么时候应该使用其中一个(或两个)进行处理.根据我自己的经验,我基本上已经确定合同解决方案更简单了,所以如果我可以用他们做我需要的东西,我会这样做; 否则,我使用自定义JsonConverters.但是,我进一步知道两者有时一起使用,因此概念变得更加不透明.

问题:

  1. 是否存在区分何时用户与其他用户的来源?我发现Newtonsoft文档不清楚这两者是如何区分的,或者何时使用其中一种.
  2. 两者之间的排序管道是什么?

json.net

56
推荐指数
1
解决办法
1万
查看次数

有选择地使用默认的JSON转换器

我在我的Web API项目中使用以下内容Startup.cs将JSON序列化枚举为字符串:

// Configure JSON Serialization
var jsonSerializationSettings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
jsonSerializationSettings.Formatting = Newtonsoft.Json.Formatting.None;
jsonSerializationSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
Run Code Online (Sandbox Code Playgroud)

这是为了避免装饰每个Enum属性 [JsonConverter(typeof(StringEnumConverter))]

现在,如何选择退出某些Enum属性的全局序列化设置并使用转换为整数的默认序列化程序?

c# asp.net json.net asp.net-web-api

6
推荐指数
1
解决办法
868
查看次数

C#JsonConvert使用默认转换器而不是自定义转换器

我有一个具有自定义的类,如下所示JsonConverter

[JsonConverter(typeof(TheShapeSerializer))]
public class TheShape : IShape {
//....
}
Run Code Online (Sandbox Code Playgroud)

我不能改变班级。自定义序列化器的工作方式不适合我的需求。

有没有一种方法可以使用默认的序列化程序而不是TheShapeSerializer来序列化TheShape的实例?

同样,是否有一种方法可以让多个转换器根据给定条件在串行化时间选择?

c# json.net

6
推荐指数
1
解决办法
627
查看次数

标签 统计

json.net ×3

c# ×2

asp.net ×1

asp.net-web-api ×1