Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "shouldBeIgnored1": "string",
- "shouldBeIgnored2": "string",
- "key1": {
- "id": 1,
- "value": "value"
- },
- "key2": {
- "id": 2,
- "value": "another value"
- }
- ...
- }
- class Item {
- private int id;
- private String value;
- //getters setters
- }
- JsonMappingException: Can not instantiate value of type [simple type, class Item] from String value ('string'); no single-String constructor/factory method
- String json = "...";
- ObjectMapper objectMapper = new ObjectMapper();
- ObjectNode objectNode = (ObjectNode) objectMapper.readTree(json);
- Iterator<Map.Entry<String, JsonNode>> fields = objectNode.fields();
- Set<String> fieldsToRemove = new HashSet<>();
- while (fields.hasNext()) {
- Map.Entry<String, JsonNode> field = fields.next();
- String fieldName = field.getKey();
- JsonNode fieldValue = field.getValue();
- if (!fieldValue.isObject()) {
- fieldsToRemove.add(fieldName);
- }
- }
- objectNode.remove(fieldsToRemove);
- TypeReference typeReference = new TypeReference<Map<String, Item>>() { };
- Map<String, Item> map = objectMapper.convertValue(objectNode, typeReference);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement