public class User {
private String name;
private Map<String, Bar> bars;
private Map<String, Inter> inters;
// ...
}public class Bar {
private Integer amount;
// ...
}JsonParser jsonParser = new JsonParser();
User user = jsonParser.parse(json, User.class);public interface Inter {
public char getSign();
}public class InterImpl implements Inter {
protected char sign;
public char getSign() {
return sign;
}
public void setSign(char sign) {
this.sign = sign;
}
}User user = new JsonParser()
.map("inters.values", InterImpl.class)
.parse(json, User.class);String json = "{\"eee\" : {\"123\" : \"name\"}}";
Map<String, Map<Long, String>> map =
new JsonParser()
.map("values.keys", Long.class)
.parse(json); {
"1": {
"first": {
"areaCode": "404"
},
"second": {
"name": "Jodd"
}
}
}Map<String, Pair<Phone, Network>> complex = new JsonParser()
.map("values", Pair.class)
.map("values.first", Phone.class)
.map("values.second", Network.class)
.parse(json);Target target =
new JsonParser()
.setClassMetadataName("class")
.parse(json);final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Person person = new JsonParser()
.withValueConverter("birthdate", new ValueConverter<String, Date>() {
public Date convert(String data) {
try {
return dateFormat.parse(data);
} catch (ParseException pe) {
throw new JsonException(pe);
}
}
})
.parse(json, Person.class);JsonParser jsonParser = new JsonParser().looseMode(true);{
key : value,
'my' : 'hol\\x'
}JsonParser jsonParser = new JsonParser().lazy(true);JsonParser jsonParser = JsonParser.createLazyOne();