Advertisement
Guest User

Untitled

a guest
Oct 8th, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. {
  2. "shouldBeIgnored1": "string",
  3. "shouldBeIgnored2": "string",
  4. "key1": {
  5. "id": 1,
  6. "value": "value"
  7. },
  8. "key2": {
  9. "id": 2,
  10. "value": "another value"
  11. }
  12. ...
  13. }
  14.  
  15. class Item {
  16. private int id;
  17. private String value;
  18.  
  19. //getters setters
  20. }
  21.  
  22. JsonMappingException: Can not instantiate value of type [simple type, class Item] from String value ('string'); no single-String constructor/factory method
  23.  
  24. String json = "...";
  25. ObjectMapper objectMapper = new ObjectMapper();
  26. ObjectNode objectNode = (ObjectNode) objectMapper.readTree(json);
  27.  
  28. Iterator<Map.Entry<String, JsonNode>> fields = objectNode.fields();
  29. Set<String> fieldsToRemove = new HashSet<>();
  30. while (fields.hasNext()) {
  31. Map.Entry<String, JsonNode> field = fields.next();
  32. String fieldName = field.getKey();
  33. JsonNode fieldValue = field.getValue();
  34. if (!fieldValue.isObject()) {
  35. fieldsToRemove.add(fieldName);
  36. }
  37. }
  38.  
  39. objectNode.remove(fieldsToRemove);
  40.  
  41. TypeReference typeReference = new TypeReference<Map<String, Item>>() { };
  42. Map<String, Item> map = objectMapper.convertValue(objectNode, typeReference);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement