草庐IT

objectMapper

全部标签

xml - jackson 在序列化为 JSON 时无法考虑 @XmlElement

我有一个契约(Contract)类,其中包含带有@XmlElement标签的元素。例如@XmlElement(name="balancemoney")protectedAmountbalanceMoney;使用JAXBContext我能够生成带有适当标签的xml。但是,当我使用jackson提供的库时,JSON标记仍然作为“balanceMoney”而不是“balancemoney”出现我如何告诉Jackson考虑@XmlElement标签。下面是执行此操作的代码。//Functiontodisplayrequestobject.publicvoiddisplayXML(Objectr

java - 使用 jackson ObjectMapper 时保留的堆大小更大

我正在使用Jackson映射器将我的java对象转换为字符串,但这些对象不会被堆中的GC删除。我的代码ListreportList;//ThiscontainsmyobjectsObjectMappermap=newObjectMapper();//org.codehaus.jackson.map.ObjectMapperreturnmap.writeValueAsString(reportList);这将String返回到我的View层,但是通过对象映射器解析的对象保留在堆中。我已经进行了堆转储。ClassName|Objects|ShallowHeap|RetainedHeap--

java - 使用 jackson 将 json 对象列表转换为 hashmap

有没有一种方法可以使用内置的Jackson功能将json对象列表转换为使用java的HashMap解释:我需要解析的json结构{list:[{keyId:1,keyLabel:"Test1",valueId:34,valueLabel:"TestLable"},{keyId:2,keyLabel:"Test2",valueId:35,valueLabel:"TestLable"},{keyId:3,keyLabel:"Test3",valueId:36,valueLabel:"TestLable"}]}我期待的对象模型,classKey{intkeyId;StringkeyLable

java - 为特定注释禁用 Jackson 映射器

使用Jackson,可以很容易地禁用给定ObjectMapper的所有注释。有没有办法只禁用一个给定的注释?//disableallObjectMappermapper=newObjectMapper()mapper.disable(MapperFeature.USE_ANNOTATIONS);//disableone?ObjectMappermapper=newObjectMapper()mapper.disable(@JsonIgnore);使用@JacksonAnnotationsInside,我定义了一个自定义Jackson注释,我只希望在特定情况下使用它。

java - 为某些包 Spring MVC 设置不同的 ObjectMapper

有没有办法使用spring为我的项目中的某些包设置HttpMessageConverter?@Configuration@EnableWebMvc@ComponentScan(basePackageClasses=MyConfig.class)publicclassMyConfigextendsWebMvcConfigurerAdapter{@OverridepublicvoidconfigureMessageConverters(List>converters){for(HttpMessageConverterconverter:converters){if(converterins

java - Spring 启动 : Different ObjectMapper instances for Request and Response

我的springboot应用程序中有以下Controller:@RequestMapping(method=RequestMethod.POST)publicResponseEntityprocess(@RequestBodyRequestDtorequest){returnnull;}MyClass有一个字段,比方说“myField”,我想要不同的NamingStrategy配置用于该字段的请求和响应(这是因为我不想为一个字段创建一个新类)。我已经配置了ObjectMapper实例如下:@BeanpublicObjectMapperobjectMapper(){ObjectMappe

java - 如何在不影响原始 bean 的 'clients' 的情况下声明另一个 Jackson ObjectMapper?

我有一个公开jsonRESTAPI的spring-boot应用程序。为了将对象映射到json,它使用由spring-boot配置的内置jacksonObjectMapper。现在我需要从yaml文件中读取一些数据,我发现一种简单的方法是使用Jackson-为此我需要声明一个不同的ObjectMapper来将yaml转换为对象。我用一个特定的名称声明了这个新的映射器bean,以便能够将它注入(inject)到我处理从yaml文件读取的服务中:@Bean(YAML_OBJECT_MAPPER_BEAN_ID)publicObjectMapperyamlObjectMapper(){retu

java - ObjectMapper - 线程安全和性能的最佳实践

总结我想在下面描述的用例的上下文中找到在线程安全和性能方面使用ObjectMapper和/或ObjectReader的最佳实践。背景我有一个辅助类(Json.java),其中方法toObject()使用ObjectMapper从json转换字符串到给定(json可映射)类的对象。问题/疑问我读到,ObjectReader通常被推荐为完全线程安全的,但我主要看到它处于非泛型上下文中,其中预定义了要读取的类。在这种情况下,您认为在线程安全和性能方面的最佳实践是什么?在代码中,我提出了三个可以作为起点的建议。我已尝试查看jackson-databind的源代码和文档,但我的Java理论技能还

java - 当前推荐的将 byte[] 转换为 JsonNode 并返回的方法

我想从java字节数组中读取一个JSON“树”,然后使用Jackson将JSON“树”写回java字节数组。一种方法如下所示:ObjectMapperom=newObjectMapper();JsonNodeold=om.createObjectNode();byte[]arr=om.writeValueAsBytes(old);JsonNodenew=om.readTree(arr);但是,Jackson这些天建议使用ObjectReader和ObjectWriter而不是ObjectMapper,因为配置中的线程安全性,而且还因为可能仅与它们相关的优化。但是,ObjectReade

java - Jackson ObjectMapper 即使使用 NON_NULL 也会抛出 NullPointerException

当使用以下JSON并且“phones”或“emailAddresses”为空时,我将收到NullPointerException。JSON:{"item":{"messages":{"user.phone.missing":{"type":"warning","key":"user.phone.missing","message":"Userprofiledoesnothaveaphonenumber","code":null},"user.email.missing":{"type":"warning","key":"user.email.missing","message":"Us