草庐IT

JsonSerializer

全部标签

c# - 有什么方法可以对 List<T> 的子类进行 JSON.NET 序列化,该子类也具有额外的属性?

好的,我们正在使用我非常喜欢的Newtonsoft的JSON.NET产品。但是,我有一个简单的类结构,用于分层位置,大致如下所示......publicclassLocation{publicstringName{get;set;}publicLocationListLocations{get;set;}}//Note:LocationListissimplyasubclassofaList//whichthenaddsanIsExpandedpropertyforusebytheUI.publicclassLocationList:List{publicboolIsExpanded{

c# - 我怎样才能 "un-JsonIgnore"派生类中的属性?

我正在使用Newtonsoft'sJsonSerializer序列化一些类。因为我想在序列化过程中省略我的类的一个字段,所以我声明如下:[JsonIgnore]publicintParentId{get;set;}这行得通,但我现在面临一个新问题:在派生类中,我希望该字段出现(并且只在这个特定的派生类中出现)。我一直在浏览文档和在Internet上寻找一种方法来覆盖子类中的此设置(我想我需要类似[JsonStopIgnore]的东西,但我找不到任何接近的东西).有什么方法可以强制JsonSerializer再次获取此属性?是否可以将属性显式标记为[JsonIgnore],但仅在基类中?

c# - 将 JsonSerializerSettings 从 JsonSerializer 复制到新的 JsonSerializer

有什么方法可以从JsonSerializer类中取出设置并在新的JsonSerializer中重新实现它们?似乎没有任何方法可以做那样的事情。我发现最好的是通过反射调用的私有(private)方法,ApplySerializerSettings。我正在尝试从WriteJson方法中获取序列化器并将其复制到一个新的序列化器中,稍微调整一下。具体来说,我想替换ContractResolver。publicoverridevoidWriteJson(JsonWriterwriter,objectvalue,JsonSerializerserializer) 最佳答

c# - SignalR 2.0 更改 Json Serializer 以支持派生类型对象

请注意,我在这里明确引用了SignalR2.0...我已经看到一些(令人讨厌的)方法用于SignalR1.1/1.2...但还没有用于2.0。有没有人成功更改SignalR2.0默认json序列化程序以启用派生类型的发送?根据我对SignalR2.0的了解,这应该是可能的,但是,我没有任何运气,也没有在任何地方找到完整的示例。我是这样开始的……如有任何帮助,我们将不胜感激。我的Startup.cs[assembly:OwinStartup(typeof(SignalRChat.Startup))]namespaceSignalRChat{publicclassStartup{publi

java - 如何将参数传递给 JsonSerializer?

我有一个简单的数据服务:@GETpublicDatagetData(@QueryParam("id")Longid){Datadata=dataService.getData(id);returndata;}还有一个匹配的DataSerializer实现JsonSerializer:DataSerializer通过以下方式注册到jackson:simpleModule.addSerializer(Data.class,dataSerializer);ObjectMappermapper=newObjectMapper();mapper.registerModule(simpleModu

java - 如何正确注册自定义 JsonSerializer?

我正在尝试使用Ajax发布到Spring@RestController。Jackson对@Entity中的@Json...Referenceannnotations有问题,发布的那个继承自(@Inheritance(strategy=InheritanceType.JOINED)).我已经看到很多与此相关的问题和答案。截至目前,不允许永久更改父实体。我确实可以访问并可以临时更改我的本地副本,因此我已经能够确认删除父项中的注释可能会修复它,大概是以破坏其他东西为代价的。因此,我的解决方案是实现自定义JsonSerializer。问题是它没有被调用;从我所看到的情况来看,我认为我已经正确地

java - 使用 Flexjson 时如何排除空值字段?

我正在使用Flexjson将这样的类序列化为JSON:publicclassItem{privateLongid;privateStringname;privateStringdescription;...//Gettersandsetters...}许多项目字段可以为空(例如,描述)。因此,当使用Flexjson序列化此类Item对象时,我得到以下JSON:{"id":62,"name":"ItemA","description":null,...}因为,正如我已经提到的,Item对象可能包含许多空值字段,因此输出的JSON比实际需要的要长。到目前为止,这是一个问题,因为我想通过Wi

【自定义序列化器】⭐️通过继承JsonSerializer和实现WebMvcConfigurer类完成自定义序列化

目录前言    解决方案具体实现一、自定义序列化器二、两种方式指定作用域    1、注解  @JsonSerialize()    2、实现自定义全局配置 WebMvcConfigurer三、拓展 WebMvcConfigurer接口章末前言            小伙伴们大家好,上次做了自定义对象属性拷贝,解决了重构中尽量不要修改原有逻辑的问题,将String类型的字段转换成Date或者LocalDateTime类型。【对象属性拷贝】⭐️按照需要转换的类型反射设置拷贝后对象的属性-CSDN博客但是转换完成后还需要修改Date类型的值为带上时区的,比如”2024-02-0514:46:26“ 

java - Jackson 使用 Enum Key 和 POJO Value 反序列化为 Map

我正在尝试使用Jackson将JSON反序列化为JavaPOJO。在不泄露secret信息的情况下,以下是ObjectMapper反序列化失败时的堆栈跟踪示例:org.codehaus.jackson.map.JsonMappingException:CannotconstructMapkeyoftypecom.example.MyEnumfromString"coins":notavalidrepresentation:CannotconstructMapkeyoftypecom.example.MyEnumfromString"coins":notoneofvaluesforEnu

java - FlexJSON 没有完全序列化类对象

我是FlexJson的新手,正在关注http://flexjson.sourceforge.net/用于简单教程。我写了一个简单的程序,但它似乎没有序列化对象属性。如果有人知道这件事,请帮助我packagecom.webapp.enter;importflexjson.JSONSerializer;classPObject{Stringname;intage;Stringcountry;publicPObject(Stringn,inta,Stringc){this.name=n;this.country=c;this.age=a;}publicStringtoString(){ret