java - How to serialize a double-wrapped list? -


i have following class

public class someobject {      @jsonproperty("otherobjects")     private list<integer> otherobjects;  } 

and want serialize following xml

<someobject>     <otherobjects>         <objlist>             <objref>123</objref>             <objref>456</objref>             <objref>789</objref>         </objlist>     </otherobjects> </someobject> 

i tried create custom jsonserializer:

private static class objectlistserializer extends jsonserializer<list<integer>> {      @override     public void serialize(final list<integer> integers, final jsongenerator jsongenerator, final serializerprovider serializerprovider) throws ioexception, jsonprocessingexception {         jsongenerator.writearrayfieldstart("objlist");          (integer integer : integers) {             jsongenerator.writenumberfield("objref", integer);         }          jsongenerator.writeendarray();     }  } 

but jsongenerator expects value , following exception:

exception in thread "main" com.fasterxml.jackson.core.jsongenerationexception: can not write field name, expecting value     @ com.fasterxml.jackson.core.jsongenerator._reporterror(jsongenerator.java:1676)     @ com.fasterxml.jackson.dataformat.xml.ser.toxmlgenerator.writefieldname(toxmlgenerator.java:444)     @ com.fasterxml.jackson.core.jsongenerator.writearrayfieldstart(jsongenerator.java:1409)     @ playground$objectlistserializer.serialize(playground.java:89)     @ playground$objectlistserializer.serialize(playground.java:85)     @ com.fasterxml.jackson.dataformat.xml.ser.xmlbeanpropertywriter.serializeasfield(xmlbeanpropertywriter.java:145)     @ com.fasterxml.jackson.dataformat.xml.ser.xmlbeanserializerbase.serializefields(xmlbeanserializerbase.java:202)     @ com.fasterxml.jackson.dataformat.xml.ser.xmlbeanserializer.serialize(xmlbeanserializer.java:119)     @ com.fasterxml.jackson.dataformat.xml.ser.xmlserializerprovider.serializevalue(xmlserializerprovider.java:92)     @ com.fasterxml.jackson.databind.objectmapper._configandwritevalue(objectmapper.java:3631)     @ com.fasterxml.jackson.databind.objectmapper.writevalueasstring(objectmapper.java:2998)     @ playground.main(playground.java:27)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ com.intellij.rt.execution.application.appmain.main(appmain.java:147) 

how can resolve error?


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -