2016-07-27 2 views
2

Я пытаюсь преобразовать объект Java в JSON с помощью парсера Jackson. Оригинальный объект приходит ко мне через protobuf и содержит некоторые @annotations, характерные для Jackson.Jackson: Object to String через writeValueAsString: NPE

Когда я называю String jsonView = objectMapper.writeValueAsString(values);

Я получаю это исключение. Объект не содержит рекурсивных значений, поэтому я не понимаю, почему я вижу эту ошибку (или даже этот путь кода).

ObjectMapper настроен: objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); (хотя удаление это не похоже, чтобы изменить что-либо)

java.lang.NullPointerException: нуль в com.fasterxml.jackson.databind.type.ResolvedRecursiveType.equals (ResolvedRecursiveType.java:103) at com.fasterxml.jackson.databind.type.TypeBindings $ AsKey.equals (TypeBindings.java:458) at java.util.concurrent.ConcurrentHashMap.get (ConcurrentHashMap.java:940) на com.fasterxml.jackson.databind.util.LRUMap.get (LRUMap.java:68) по адресу com.fasterxml.jackson.databind.type.TypeFactory ._fromClass (TypeFactory.java:1211) at com.fasterxml.jackson.databind.type.TypeFactory._fromParamType (TypeFactory.java:1384) at com.fasterxml.jackson.databind.type.TypeFactory._fromAny (TypeFactory.java : 1154) at com.fasterxml.jackson.databind.type.TypeFactory._resolveSuperInterfaces (TypeFactory.java:1298) at com.fasterxml.jackson.databind.type.TypeFactory._fromClass (TypeFactory.java:1243) at com .fasterxml.jackson.databind.type.TypeFactory._fromAny (TypeFactory.java:1150) at com.fasterxml.jackson.databind.type.TypeFactory._resolveSuperInterfaces (TypeFactory.java:1298) at com.fasterxml.jackson.databind .type.TypeFactory._fromClass (TypeFactory.java:1247) at com.fasterxml.jackson.databind.type.TypeFactory._fromAny (TypeFactory.java:115 0) at com.fasterxml.jackson.databind.type.TypeFactory.constructType (TypeFactory.java:618) at com.fasterxml.jackson.databind.cfg.MapperConfig.constructType (MapperConfig.java:290) at com. fasterxml.jackson.databind.cfg.MapperConfig.introspectClassAnnotations (MapperConfig.java:320) на com.fasterxml.jackson.databind.ser.BeanSerializerFactory.removeIgnorableTypes (BeanSerializerFactory.java:714) на com.fasterxml.jackson.databind. ser.BeanSerializerFactory.findBeanProperties (BeanSerializerFactory.java:573) на com.fasterxml.jackson.databind.ser.BeanSerializerFactory.constructBeanSerializer (BeanSerializerFactory.java:390) в com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanSerializer (BeanSerializerFactory.java:273) at com .fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2 (BeanSerializerFactory.java:225) на com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer (BeanSerializerFactory.java:159) в com.fasterxml.jackson.databind .SerializerProvider._createUntypedSerializer (SerializerProvider.java:1272) на com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer (SerializerProvider.java:1243) в com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer (SerializerProvider.java:535) на com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.resolve (BeanSerializerBase.java:332) в com.fasterxml.jackson.databind.ser.SerializerCache.addAndResolveNonTypedSerializer (SerializerCache.java:174) на ком .fasterxml.ja ckson.databind.SerializerProvider._createAndCacheUntypedSerializer (SerializerProvider.java:1254) at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer (SerializerProvider.java: 535) at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.resolve (BeanSerializerBase.java:332) at com.fasterxml.jackson.databind.ser.SerializerCache.addAndResolveNonTypedSerializer (SerializerCache.java:174) на com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer (SerializerProvider.java:1254) на com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer (SerializerProvider.java:535) в com.fasterxml.jackson.databind. ser.std.BeanSerializerBase.resolve (BeanSerializerBase.java:332) на com.fasterxml.jackson.databind.ser.SerializerCache.addAndResolveNonTypedSerializer (SerializerCache.java:197) в com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer (SerializerProvider.java:1233)на com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer (SerializerProvider.java:499) на com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer (SerializerProvider.java:697) в com.fasterxml.jackson.databind. ser.DefaultSerializerProvider.serializeValue (DefaultSerializerProvider.java:270) на com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue (ObjectMapper.java:3672) на com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString (ObjectMapper.java: 3048)

ответ