a few options, all along the lines of accepting a range of cases and normalizing them:
1. Write custom deserializers that can take, for example “0”, “1", true, “true” etc for a boolean, and any other combinations;
2. Deserialize to a Map or a JsonNode tree and start normalizing from there; at this point you can either regenerate now-normalized JSON and bind that to objects, or create the objects by hand as an extension of the normalization (as noted above)