i have json string shown below.
{ "input_index": 0, "candidate_index": 0, "delivery_line_1": "5461 s red cliff dr", "last_line": "salt lake city ut 84123-5955", "delivery_point_barcode": "841235955990" }
i want convert pojo of class shown below.
public class candidate { @key("input_index") private int inputindex; @key("candidate_index") private int candidateindex; @key("addressee") private string addressee; @key("delivery_line_1") private string deliveryline1; @key("delivery_line_2") private string deliveryline2; @key("last_line") private string lastline; @key("delivery_point_barcode") private string deliverypointbarcode; }
i trying convert json pojo using jackson shown below.
objectmapper objectmapper = new objectmapper(); objectmapper.configure(deserializationfeature.fail_on_unknown_properties, false); candidate candidate = objectmapper.readvalue(jsonstring,candidate.class);
when run code getting null values in pojo because jackson looking attribute name in json string instead of name given in @key. how tell jackson map values based on @key?
i used @jsonproperty before , had no issue converting pojo. candidate class provided third party , using @key(com.google.api.client.util.key) annotation attributes. so, can't change class.
use maven dep :
<dependency> <groupid>com.google.http-client</groupid> <artifactid>google-http-client-jackson</artifactid> <version>1.15.0-rc</version> </dependency>
and convert :
candidate candidate = jacksonfactory.getdefaultinstance().fromstring(output,candidate.class);
Comments
Post a Comment