/** * Implementation that will produce types of any JSON nodes; not just one * deserializer is registered to handle (in case of more specialized handler). * Overridden by typed sub-classes for more thorough checking */ @Override public JsonNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { switch (p.getCurrentTokenId()) { case JsonTokenId.ID_START_OBJECT: return deserializeObject(p, ctxt, ctxt.getNodeFactory()); case JsonTokenId.ID_START_ARRAY: return deserializeArray(p, ctxt, ctxt.getNodeFactory()); default: } return deserializeAny(p, ctxt, ctxt.getNodeFactory()); }
@Override public ObjectNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartObjectToken()) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } if (p.hasToken(JsonToken.FIELD_NAME)) { return deserializeObjectAtName(p, ctxt, ctxt.getNodeFactory()); } // 23-Sep-2015, tatu: Ugh. We may also be given END_OBJECT (similar to FIELD_NAME), // if caller has advanced to the first token of Object, but for empty Object if (p.hasToken(JsonToken.END_OBJECT)) { return ctxt.getNodeFactory().objectNode(); } return (ObjectNode) ctxt.handleUnexpectedToken(ObjectNode.class, p); }
@Override public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } else if (p.isExpectedStartObjectToken()) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } else { return null; } }
@Override public ArrayNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } return (ArrayNode) ctxt.handleUnexpectedToken(ArrayNode.class, p); }
@Override public Cookies deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } else if (p.isExpectedStartObjectToken()) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } else { return (Cookies) ctxt.handleUnexpectedToken(Cookies.class, p); } }
final ArrayNode node) throws IOException final JsonNodeFactory nodeFactory = ctxt.getNodeFactory(); while (true) { JsonToken t = p.nextToken();
return ctxt.getNodeFactory().nullNode();
JsonNodeFactory nodeFactory = ctxt.getNodeFactory(); switch (t.id()) { case JsonTokenId.ID_START_OBJECT:
@Override public ObjectNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() == JsonToken.START_OBJECT) { jp.nextToken(); return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } if (jp.getCurrentToken() == JsonToken.FIELD_NAME) { return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ObjectNode.class); } }
@Override public ObjectNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() == JsonToken.START_OBJECT) { jp.nextToken(); return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } if (jp.getCurrentToken() == JsonToken.FIELD_NAME) { return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ObjectNode.class); } }
@Override public ObjectNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.getCurrentToken() == JsonToken.START_OBJECT) { jp.nextToken(); return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } if (jp.getCurrentToken() == JsonToken.FIELD_NAME) { return deserializeObject(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ObjectNode.class); } }
@Override public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } else if (p.isExpectedStartObjectToken()) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } else { return null; } }
@Override public ObjectNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartObjectToken() || p.hasToken(JsonToken.FIELD_NAME)) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } // 23-Sep-2015, tatu: Ugh. We may also be given END_OBJECT (similar to FIELD_NAME), // if caller has advanced to the first token of Object, but for empty Object if (p.hasToken(JsonToken.END_OBJECT)) { return ctxt.getNodeFactory().objectNode(); } return (ObjectNode) ctxt.handleUnexpectedToken(ObjectNode.class, p); } }
@Override public Cookies deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } else if (p.isExpectedStartObjectToken()) { return deserializeObject(p, ctxt, ctxt.getNodeFactory()); } else { return (Cookies) ctxt.handleUnexpectedToken(Cookies.class, p); } }
@Override public ArrayNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.isExpectedStartArrayToken()) { return deserializeArray(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ArrayNode.class); } }
@Override public ArrayNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } return (ArrayNode) ctxt.handleUnexpectedToken(ArrayNode.class, p); } }
@Override public ArrayNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.isExpectedStartArrayToken()) { return deserializeArray(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ArrayNode.class); } }
@Override public ArrayNode deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (p.isExpectedStartArrayToken()) { return deserializeArray(p, ctxt, ctxt.getNodeFactory()); } return (ArrayNode) ctxt.handleUnexpectedToken(ArrayNode.class, p); }
@Override public ArrayNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.isExpectedStartArrayToken()) { return deserializeArray(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ArrayNode.class); } }
@Override public ArrayNode deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if (jp.isExpectedStartArrayToken()) { return deserializeArray(jp, ctxt, ctxt.getNodeFactory()); } throw ctxt.mappingException(ArrayNode.class); } }