protected Object _convert(Object fromValue, JavaType toValueType) throws IllegalArgumentException { // sanity check for null first: if (fromValue == null) return null; /* Then use TokenBuffer, which is a JsonGenerator: * (see [JACKSON-175]) */ TokenBuffer buf = new TokenBuffer(this); try { writeValue(buf, fromValue); // and provide as with a JsonParser for contents as well! JsonParser jp = buf.asParser(); Object result = readValue(jp, toValueType); jp.close(); return result; } catch (IOException e) { // should not occur, no real i/o... throw new IllegalArgumentException(e.getMessage(), e); } }
@Override public TokenBuffer deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { TokenBuffer tb = new TokenBuffer(jp.getCodec()); // quite simple, given that TokenBuffer is a JsonGenerator: tb.copyCurrentStructure(jp); return tb; } }
public static JsonNode toJsonNode(Object datum) { if (datum == null) { return null; } try { TokenBuffer generator = new TokenBuffer(new ObjectMapper()); toJson(datum, generator); return new ObjectMapper().readTree(generator.asParser()); } catch (IOException e) { throw new AvroRuntimeException(e); } }
TokenBuffer buf = new TokenBuffer(this); JsonNode result; try {
canDeserialize = (bean != null) && (_tokens[index] != null); } else { TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.copyCurrentStructure(jp); _tokens[index] = tokens;
protected final void _deserialize(JsonParser jp, DeserializationContext ctxt, Object bean, int index) throws IOException, JsonProcessingException { /* Ok: time to mix type id, value; and we will actually use "wrapper-array" * style to ensure we can handle all kinds of JSON constructs. */ TokenBuffer merged = new TokenBuffer(jp.getCodec()); merged.writeStartArray(); merged.writeString(_typeIds[index]); JsonParser p2 = _tokens[index].asParser(jp); p2.nextToken(); merged.copyCurrentStructure(p2); merged.writeEndArray(); // needs to point to START_OBJECT (or whatever first token is) p2 = merged.asParser(jp); p2.nextToken(); _properties[index].getProperty().deserializeAndSet(p2, ctxt, bean); }
t = jp.nextToken(); TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject(); for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
tb = new TokenBuffer(null);
TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject(); final Object bean = _valueInstantiator.createUsingDefault();
unknown = new TokenBuffer(jp.getCodec());
PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt); TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject();
PropertyValueBuffer buffer = creator.startBuilding(jp, ctxt); TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject();
protected Object _convert(Object fromValue, JavaType toValueType) throws IllegalArgumentException { // sanity check for null first: if (fromValue == null) return null; /* Then use TokenBuffer, which is a JsonGenerator: * (see [JACKSON-175]) */ TokenBuffer buf = new TokenBuffer(this); try { writeValue(buf, fromValue); // and provide as with a JsonParser for contents as well! JsonParser jp = buf.asParser(); Object result = readValue(jp, toValueType); jp.close(); return result; } catch (IOException e) { // should not occur, no real i/o... throw new IllegalArgumentException(e.getMessage(), e); } }
@Override public TokenBuffer deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { TokenBuffer tb = new TokenBuffer(jp.getCodec()); // quite simple, given that TokenBuffer is a JsonGenerator: tb.copyCurrentStructure(jp); return tb; } }
TokenBuffer buf = new TokenBuffer(this); JsonNode result; try {
canDeserialize = (bean != null) && (_tokens[index] != null); } else { TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.copyCurrentStructure(jp); _tokens[index] = tokens;
protected final void _deserialize(JsonParser jp, DeserializationContext ctxt, Object bean, int index) throws IOException, JsonProcessingException { /* Ok: time to mix type id, value; and we will actually use "wrapper-array" * style to ensure we can handle all kinds of JSON constructs. */ TokenBuffer merged = new TokenBuffer(jp.getCodec()); merged.writeStartArray(); merged.writeString(_typeIds[index]); JsonParser p2 = _tokens[index].asParser(jp); p2.nextToken(); merged.copyCurrentStructure(p2); merged.writeEndArray(); // needs to point to START_OBJECT (or whatever first token is) p2 = merged.asParser(jp); p2.nextToken(); _properties[index].getProperty().deserializeAndSet(p2, ctxt, bean); }
t = jp.nextToken(); TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject(); for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) {
tb = new TokenBuffer(null);
TokenBuffer tokens = new TokenBuffer(jp.getCodec()); tokens.writeStartObject(); final Object bean = _valueInstantiator.createUsingDefault();