List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:io.progix.dropwizard.patch.explicit.PatchInstructionDeserializer.java
/** * This method is responsible for deserialization of a {@link PatchInstruction} * <p/>// w w w. j a v a 2 s. c o m * The value in a patch instruction is mapped to a TreeMap and can be later converted to a class of choice using * {@link JsonPatchValue} * * @see JsonDeserializer */ @Override public PatchInstruction deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { untypedObjectDeserializer.resolve(ctxt); JsonNode node = jp.getCodec().readTree(jp); PatchOperation operation = PatchOperation.valueOf(node.get("op").asText().toUpperCase()); String path = node.get("path").asText(); String from = null; JsonNode fromNode = node.get("from"); if (fromNode != null) { from = fromNode.asText(); } List<Object> values = null; JsonNode valueNode = node.get("value"); if (valueNode != null) { values = new ArrayList<>(); if (valueNode.isArray()) { Iterator<JsonNode> iterator = valueNode.elements(); while (iterator.hasNext()) { JsonNode elementNode = iterator.next(); JsonParser p = elementNode.traverse(); if (!p.hasCurrentToken()) { p.nextToken(); } Object element = untypedObjectDeserializer.deserialize(p, ctxt); values.add(element); } } else { JsonParser p = valueNode.traverse(); if (!p.hasCurrentToken()) { p.nextToken(); } Object value = untypedObjectDeserializer.deserialize(p, ctxt); values.add(value); } } return new PatchInstruction(operation, path, values, from); }
From source file:org.o3project.ocnrm.odenos.linklayerizer.LinkLayerizerBoundarySet.java
public Map<String, LinklayerizerBoundary> changeJSONBoundariesToBoundaries(String jsonBoundary, String seqNo) { logger.info(seqNo + "\t" + "changeJSONBoundariestoBoundaries Start"); linklayerizerBoundaryMap = new HashMap<String, LinklayerizerBoundary>(); try {//from w w w .j a v a 2 s .co m JsonFactory factory = new JsonFactory(); JsonParser jp = factory.createParser(jsonBoundary); jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String mapKey = jp.getCurrentName(); LinklayerizerBoundary llb = new LinklayerizerBoundary(); jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldname = jp.getCurrentName(); jp.nextToken(); if ("boundary_id".equals(fieldname)) { llb.setBoundary_id(jp.getText()); } else if ("lower_nw".equals(fieldname)) { llb.setLower_nw(jp.getText()); } else if ("lower_nw_node".equals(fieldname)) { llb.setLower_nw_node(jp.getText()); } else if ("lower_nw_port".equals(fieldname)) { llb.setLower_nw_port(jp.getText()); } else if ("upper_nw".equals(fieldname)) { llb.setUpper_nw(jp.getText()); } else if ("upper_nw_node".equals(fieldname)) { llb.setUpper_nw_node(jp.getText()); } else if ("upper_nw_port".equals(fieldname)) { llb.setUpper_nw_port(jp.getText()); } else if ("type".equals(fieldname)) { continue; } else { throw new IllegalStateException(seqNo + "\t" + "Unrecognized field '" + fieldname + "'!"); } } linklayerizerBoundaryMap.put(mapKey, llb); } jp.close(); } catch (JsonParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } logger.info(seqNo + "\t" + "changeJSONBoundariestoBoundaries End"); return linklayerizerBoundaryMap; }
From source file:com.adobe.communities.ugc.migration.importer.SocialGraphImportServlet.java
/** * The post operation accepts a json file, parses it and applies the social graph relationships to local profiles * @param request - the request//from w ww . j a v a 2 s .com * @param response - the response * @throws javax.servlet.ServletException * @throws java.io.IOException */ protected void doPost(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException { final ResourceResolver resolver = request.getResourceResolver(); UGCImportHelper.checkUserPrivileges(resolver, rrf); final RequestParameter[] fileRequestParameters = request.getRequestParameters("file"); if (fileRequestParameters != null && fileRequestParameters.length > 0 && !fileRequestParameters[0].isFormField() && fileRequestParameters[0].getFileName().endsWith(".json")) { final InputStream inputStream = fileRequestParameters[0].getInputStream(); final JsonParser jsonParser = new JsonFactory().createParser(inputStream); JsonToken token = jsonParser.nextToken(); // get the first token if (token.equals(JsonToken.START_OBJECT)) { importFile(jsonParser, request); } else { throw new ServletException("Expected a start object token, got " + token); } } else { throw new ServletException("Expected to get a json file in post request"); } }
From source file:com.unboundid.scim2.server.providers.DotSearchFilter.java
/** * {@inheritDoc}//from w w w. ja v a2 s . c o m */ public void filter(final ContainerRequestContext requestContext) throws IOException { if (requestContext.getMethod().equals(HttpMethod.POST) && requestContext.getUriInfo().getPath().endsWith(SEARCH_WITH_POST_PATH_EXTENSION)) { if (requestContext.getMediaType() == null || !(requestContext.getMediaType().isCompatible(ServerUtils.MEDIA_TYPE_SCIM_TYPE) || requestContext.getMediaType().isCompatible(MediaType.APPLICATION_JSON_TYPE))) { throw new NotSupportedException(); } ObjectReader reader = JsonUtils.getObjectReader().forType(SearchRequest.class); JsonParser p = reader.getFactory().createParser(requestContext.getEntityStream()); if (p.nextToken() == null) { throw new BadRequestException(new NoContentException("Empty Entity")); } SearchRequest searchRequest = reader.readValue(p); UriBuilder builder = requestContext.getUriInfo().getBaseUriBuilder(); List<PathSegment> pathSegments = requestContext.getUriInfo().getPathSegments(); for (int i = 0; i < pathSegments.size() - 1; i++) { builder.path(pathSegments.get(i).getPath()); } if (searchRequest.getAttributes() != null) { builder.queryParam(QUERY_PARAMETER_ATTRIBUTES, StaticUtils.collectionToString(searchRequest.getAttributes(), ",")); } if (searchRequest.getExcludedAttributes() != null) { builder.queryParam(QUERY_PARAMETER_EXCLUDED_ATTRIBUTES, StaticUtils.collectionToString(searchRequest.getExcludedAttributes(), ",")); } if (searchRequest.getFilter() != null) { builder.queryParam(QUERY_PARAMETER_FILTER, searchRequest.getFilter()); } if (searchRequest.getSortBy() != null) { builder.queryParam(QUERY_PARAMETER_SORT_BY, searchRequest.getSortBy()); } if (searchRequest.getSortOrder() != null) { builder.queryParam(QUERY_PARAMETER_SORT_ORDER, searchRequest.getSortOrder().getName()); } if (searchRequest.getStartIndex() != null) { builder.queryParam(QUERY_PARAMETER_PAGE_START_INDEX, searchRequest.getStartIndex()); } if (searchRequest.getCount() != null) { builder.queryParam(QUERY_PARAMETER_PAGE_SIZE, searchRequest.getCount()); } requestContext.setRequestUri(builder.build()); requestContext.setMethod(HttpMethod.GET); } }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
private void assertNextField(String expFieldName, JsonParser p) throws IOException { assertEquals(JsonToken.FIELD_NAME, p.nextToken()); assertEquals(expFieldName, p.getText()); }
From source file:com.netflix.aegisthus.tools.AegisthusSerializer.java
public Map<String, Object> deserialize(String data) throws IOException { try {//from w ww . jav a 2 s .com Map<String, Object> map = new LinkedHashMap<String, Object>(); JsonParser jp = jsonFactory.createJsonParser(data); jp.nextToken(); // Object jp.nextToken(); // key map.put(KEY, new DataByteArray(jp.getCurrentName().getBytes())); jp.nextToken(); // object while (jp.nextToken() != JsonToken.END_OBJECT) { String field = jp.getCurrentName(); if (DELETEDAT.equals(field.toUpperCase())) { jp.nextToken(); map.put(DELETEDAT, jp.getLongValue()); } else { jp.nextToken(); while (jp.nextToken() != JsonToken.END_ARRAY) { List<Object> cols = new ArrayList<Object>(); jp.nextToken(); String name = jp.getText(); cols.add(name); jp.nextToken(); cols.add(new DataByteArray(jp.getText().getBytes())); jp.nextToken(); cols.add(jp.getLongValue()); if (jp.nextToken() != JsonToken.END_ARRAY) { String status = jp.getText(); cols.add(status); if ("e".equals(status)) { jp.nextToken(); cols.add(jp.getLongValue()); jp.nextToken(); cols.add(jp.getLongValue()); } else if ("c".equals(status)) { jp.nextToken(); cols.add(jp.getLongValue()); } jp.nextToken(); } map.put(name, cols); } } } return map; } catch (IOException e) { LOG.error(data); throw e; } }
From source file:net.troja.eve.crest.CrestDataProcessor.java
private <T> String processData(final CrestApiProcessor<T> processor, final CrestContainer<T> container, final String data) { String next = null;//from w w w . ja va 2s. c o m try { final JsonFactory parserFactory = new JsonFactory(); final JsonParser jsonParser = parserFactory.createParser(data); jsonParser.nextToken(); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jsonParser.getCurrentName(); jsonParser.nextToken(); switch (fieldname) { case "totalCount": container.setTotalCount(jsonParser.getIntValue()); break; case "pageCount": container.setPageCount(jsonParser.getIntValue()); break; case "items": processItems(processor, container, jsonParser); break; case "next": next = processNext(jsonParser); break; default: break; } } } catch (final IOException e) { if (LOGGER.isWarnEnabled()) { LOGGER.warn("Problems while parsing json data: " + e.getMessage(), e); } } return next; }
From source file:org.labkey.freezerpro.export.FreezerProCommandResonse.java
/** * Position the parser to the start of the data array object * @param parser// w w w .ja va 2 s . c o m * @param dataNodeName * @return * @throws IOException */ protected boolean ensureDataNode(JsonParser parser, String dataNodeName) throws IOException { JsonToken token = parser.nextToken(); //JsonUtil.expectObjectStart(parser); while (token != JsonToken.END_OBJECT) { token = parser.nextToken(); if (token == JsonToken.FIELD_NAME) { String fieldName = parser.getCurrentName(); if (dataNodeName.equals(fieldName)) { parser.nextToken(); return true; } else if (TOTAL_FIELD_NAME.equalsIgnoreCase(fieldName)) { JsonToken totalToken = parser.nextToken(); if (totalToken == JsonToken.VALUE_NUMBER_INT) { _totalRecords = parser.readValueAs(Integer.class); } } } } return false; }
From source file:org.killbill.billing.plugin.meter.timeline.persistent.Replayer.java
@VisibleForTesting public void read(final File file, final Function<SourceSamplesForTimestamp, Void> fn) throws IOException { final JsonParser smileParser = smileFactory.createJsonParser(file); if (smileParser.nextToken() != JsonToken.START_ARRAY) { return;//from w w w .ja va 2 s .c o m } while (!shuttingDown.get() && smileParser.nextToken() != JsonToken.END_ARRAY) { final SourceSamplesForTimestamp sourceSamplesForTimestamp = smileParser .readValueAs(SourceSamplesForTimestamp.class); fn.apply(sourceSamplesForTimestamp); } smileParser.close(); }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
private void assertNextIntValue(int exp, JsonParser p) throws IOException { assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken()); assertEquals(exp, p.getIntValue());/*from w w w. j a v a 2s . co m*/ }