List of usage examples for com.fasterxml.jackson.core JsonParser readValueAsTree
@SuppressWarnings("unchecked") public <T extends TreeNode> T readValueAsTree() throws IOException, JsonProcessingException
From source file:org.jongo.marshall.jackson.oid.ObjectIdDeserializer.java
@Override public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { TreeNode treeNode = jp.readValueAsTree(); JsonNode oid = ((JsonNode) treeNode).get(MONGO_QUERY_OID); if (fieldIsObjectId) { if (oid != null) { return new ObjectId(oid.asText()); } else {/*from w w w . j ava2s . co m*/ return new ObjectId(((JsonNode) treeNode).asText()); } } else { if (oid != null) { return oid.asText(); } else { return ((JsonNode) treeNode).asText(); } } }
From source file:org.thingsplode.synapse.serializers.jackson.adapters.HttpResponseStatusDeserializer.java
@Override public HttpResponseStatus deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAsTree(); return HttpResponseStatus.valueOf(node.asInt()); }
From source file:io.syndesis.model.integration.StepDeserializer.java
@Override public Step deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { ObjectNode node = jp.readValueAsTree(); JsonNode stepKind = node.get(STEP_KIND); if (stepKind != null) { String value = stepKind.textValue(); Class<? extends Step> resourceType = getTypeForName(value); if (resourceType == null) { throw ctxt.mappingException("No step type found for kind:" + value); } else {/*from w w w . j a va 2 s . co m*/ return jp.getCodec().treeToValue(node, resourceType); } } return null; }
From source file:org.jmingo.mapping.convert.mongo.type.deserialize.MongoDateDeserializer.java
/** * {@inheritDoc}/*from w ww. j av a 2 s .co m*/ */ @Override public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonNode tree = jp.readValueAsTree(); if (tree.isPojo()) { POJONode pojoNode = (POJONode) tree; Object pojo = pojoNode.getPojo(); if (pojo instanceof Date) { return (Date) pojoNode.getPojo(); } else { throw new RuntimeException("unsupported date type, expected: " + Date.class.getName()); } } String stringDate = tree.asText(); StdDateFormat stdDateFormat = new StdDateFormat(); try { return stdDateFormat.parse(stringDate); } catch (ParseException e) { throw Throwables.propagate(e); } }
From source file:com.github.jonpeterson.jackson.module.interceptor.JsonInterceptingDeserializer.java
@Override public T deserialize(JsonParser parser, DeserializationContext context) throws IOException { JsonNode jsonNode = parser.readValueAsTree(); for (JsonInterceptor interceptor : interceptors) jsonNode = interceptor.intercept(jsonNode, context.getNodeFactory()); JsonParser postInterceptionParser = new TreeTraversingParser(jsonNode, parser.getCodec()); postInterceptionParser.nextToken();//from ww w .ja v a 2 s . c om return delegate.deserialize(postInterceptionParser, context); }
From source file:org.thingsplode.synapse.serializers.jackson.adapters.MediaTypeDeserializer.java
@Override public MediaType deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = p.readValueAsTree(); JsonNode mTypeNode = node.get("media_type"); if (mTypeNode == null) { mTypeNode = node.get("content_type"); }//from w w w. j a v a2 s . co m if (mTypeNode == null || Util.isEmpty(mTypeNode.asText())) { return null; } else { return new MediaType(mTypeNode.asText()); } }
From source file:fi.hsl.parkandride.front.geojson.GeojsonDeserializer.java
@Override public T deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { try {/* ww w .j a v a 2s.c om*/ return jsonMapper.fromJson(jp.readValueAsTree().toString(), type); } catch (JsonException e) { throw new JsonMappingException(e.getMessage(), jp.getCurrentLocation(), e.getCause()); } }
From source file:com.microsoft.azure.serializer.CloudErrorDeserializer.java
@Override public CloudError deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode topNode = p.readValueAsTree(); if (topNode == null) { return null; }//w w w. ja v a 2s. c o m JsonNode errorNode = topNode.get("error"); if (errorNode == null) { return null; } JsonParser parser = new JsonFactory().createParser(errorNode.toString()); parser.setCodec(mapper); return parser.readValueAs(CloudError.class); }
From source file:org.agorava.twitter.jackson.LocalTrendsDeserializer.java
@Override public LocalTrendsHolder deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode tree = jp.readValueAsTree(); Iterator<JsonNode> dayIt = tree.iterator(); if (dayIt.hasNext()) { JsonNode day = dayIt.next();/*from w w w .ja v a 2 s .co m*/ Date createdAt = toDate(day.get("created_at").asText()); JsonNode trendNodes = day.get("trends"); List<Trend> trends = new ArrayList<Trend>(); for (Iterator<JsonNode> trendsIt = trendNodes.iterator(); trendsIt.hasNext();) { JsonNode trendNode = trendsIt.next(); trends.add(new Trend(trendNode.get("name").asText(), trendNode.get("query").textValue())); } jp.skipChildren(); return new LocalTrendsHolder(new Trends(createdAt, trends)); } throw ctxt.mappingException(LocalTrendsHolder.class); }
From source file:org.soulwing.prospecto.jackson.ViewDeserializer.java
@Override public View deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException { final JsonNode tree = jsonParser.readValueAsTree(); final ObjectMapper mapper = new ObjectMapper(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); mapper.writeValue(outputStream, tree); final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); return readerFactory.newReader(inputStream).readView(); }