List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:org.onosproject.north.aaa.api.parser.impl.ClientParser.java
public ClientCredential jsonToClientCredential(JsonParser jp) throws ParseException, IOException { ClientCredential.Builder builder = ClientCredential.builder(); while (true) { JsonToken token = jp.nextToken(); if (JsonToken.END_OBJECT.equals(token)) { // bail out break; }/*from w w w .j a v a 2s.co m*/ if (JsonToken.FIELD_NAME.equals(token) && "appId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildAppId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "grants".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after grants"); } Set<String> grants = new HashSet<>(); while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } grants.add(jp.getText()); } builder.buildGrants(grants); } else if (JsonToken.FIELD_NAME.equals(token) && "scopes".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after scopes"); } Set<String> scopes = new HashSet<>(); while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } scopes.add(jp.getText()); } builder.buildScopes(scopes); } else if (JsonToken.FIELD_NAME.equals(token) && "redirectUri".equals(jp.getCurrentName())) { jp.nextToken(); String uri = jp.getText(); // verify uri by uri regex Pattern emailPattern = Pattern.compile(URI_PATTERN); if (!emailPattern.matcher(uri).matches()) { // bail out throw new ParseException("uri is not valid"); } builder.buildRedirectUri(uri); } else if (JsonToken.FIELD_NAME.equals(token) && "clientId".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildClientId(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "clientSecret".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildClientSecret(jp.getText()); } } return builder.buildAll(); }
From source file:com.netflix.spectator.tdigest.Json.java
private TDigestMeasurement decode(JsonParser parser) throws IOException { expect(parser, JsonToken.START_OBJECT); require("name".equals(parser.nextFieldName()), "expected name"); Id id = registry.createId(parser.nextTextValue()); while (parser.nextToken() == JsonToken.FIELD_NAME) { id = id.withTag(parser.getText(), parser.nextTextValue()); }//from w ww . j a v a 2 s .c o m long t = parser.nextLongValue(-1L); expect(parser, JsonToken.VALUE_EMBEDDED_OBJECT); TDigest v = AVLTreeDigest.fromBytes(ByteBuffer.wrap(parser.getBinaryValue())); expect(parser, JsonToken.END_ARRAY); return new TDigestMeasurement(id, t, v); }
From source file:internal.product.ProductImportResource.java
@POST @Produces(MediaType.APPLICATION_JSON)// w w w . j ava2 s . c o m @Path("/batch") public Response batch(InputStream batch, @Context HttpServletRequest request) { try { JsonParser parser = jfactory.createParser(batch); while (parser.nextToken() != JsonToken.END_OBJECT) { System.out.println(parser.getCurrentToken()); } } catch (IOException e) { return Response.status(Status.INTERNAL_SERVER_ERROR).entity(UTF8.encode(e.toString())).build(); } return Response.status(Status.OK).entity(UTF8.encode("Hello world:")).build(); }
From source file:org.onosproject.north.aaa.api.parser.impl.ScopeParser.java
@Override public Set<Scope> parseJson(InputStream stream) throws IOException, ParseException { // begin parsing JSON to Application class ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(stream); JsonParser jp = jsonNode.traverse(); Set<Scope> scopeSet = new HashSet<>(); // continue parsing the token till the end of input is reached while (!jp.isClosed()) { // get the token JsonToken token = jp.nextToken(); // if its the last token then we are done if (token == null) { break; }/* w ww . jav a 2 s. com*/ if (JsonToken.FIELD_NAME.equals(token) && "scopes".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after scopes"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { Scope scope = jsonToScope(jp); scopeSet.add(scope); } } } } return scopeSet; }
From source file:com.netflix.hollow.jsonadapter.discover.HollowJsonAdapterSchemaDiscoverer.java
private void discoverSchemas(JsonParser parser, HollowDiscoveredSchema schema) throws IOException { JsonToken token = parser.nextToken(); while (token != JsonToken.END_OBJECT) { String fieldName = parser.getCurrentName(); //if (isDebug) parser = print("discoverSchemas fieldName=" + fieldName, token, parser); discoverSchemaField(parser, token, fieldName, schema); token = parser.nextToken();// w ww . j ava 2s . c om } }
From source file:bamboo.trove.common.BaseWarcDomainManager.java
private void parseJson(WarcProgressManager warc, InputStream in) throws IOException { Timer.Context ctx = bambooParseTimer.time(); JsonParser json = createParser(in); JsonToken token = json.nextToken(); if (token == null) { ctx.stop();/*w w w . j ava2 s .c om*/ throw new IllegalArgumentException("No JSON data found in response"); } if (!JsonToken.START_ARRAY.equals(token)) { ctx.stop(); throw new IllegalArgumentException("JSON response is not an array"); } try { long warcSize = 0; while (json.nextToken() == JsonToken.START_OBJECT) { Document d = objectMapper.readValue(json, Document.class); warcSize += d.getContentLength(); // Track it by batch IndexerDocument doc = warc.add(d); // Enqueue it for work filterQueue.offer(doc); } warcDocCountHistogram.update(warc.size()); warcSizeHistogram.update(warcSize); warc.setBatchBytes(warcSize); } finally { ctx.stop(); } }
From source file:com.netflix.hollow.jsonadapter.HollowJsonAdapterPrimaryKeyFinder.java
private void addObject(JsonParser parser, HollowObjectSchema schema, StringBuilder currentFieldPath) throws IOException { JsonToken token = parser.nextToken(); String fieldName = null;//from w w w . j a v a 2s . co m try { while (token != JsonToken.END_OBJECT) { fieldName = parser.getCurrentName(); addObjectField(parser, token, schema, fieldName, currentFieldPath); token = parser.nextToken(); } } catch (Exception ex) { throw new IOException( "Failed to parse field=" + fieldName + ", schema=" + schema.getName() + ", token=" + token, ex); } }
From source file:net.floodlightcontroller.loadbalancer.MembersResource.java
protected LBMember jsonToMember(String json) throws IOException { MappingJsonFactory f = new MappingJsonFactory(); JsonParser jp; LBMember member = new LBMember(); try {/*from ww w . j a v a 2s . c o m*/ jp = f.createJsonParser(json); } catch (JsonParseException e) { throw new IOException(e); } jp.nextToken(); if (jp.getCurrentToken() != JsonToken.START_OBJECT) { throw new IOException("Expected START_OBJECT"); } while (jp.nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentToken() != JsonToken.FIELD_NAME) { throw new IOException("Expected FIELD_NAME"); } String n = jp.getCurrentName(); jp.nextToken(); if (jp.getText().equals("")) continue; if (n.equals("id")) { member.id = jp.getText(); continue; } else if (n.equals("address")) { member.address = IPv4.toIPv4Address(jp.getText()); continue; } else if (n.equals("port")) { member.port = Short.parseShort(jp.getText()); continue; } else if (n.equals("connection_limit")) { member.connectionLimit = Integer.parseInt(jp.getText()); continue; } else if (n.equals("admin_state")) { member.adminState = Short.parseShort(jp.getText()); continue; } else if (n.equals("status")) { member.status = Short.parseShort(jp.getText()); continue; } else if (n.equals("pool_id")) { member.poolId = jp.getText(); continue; } log.warn("Unrecognized field {} in " + "parsing Members", jp.getText()); } jp.close(); return member; }
From source file:org.onosproject.north.aaa.api.parser.impl.RestAccessParser.java
@Override public Set<RestAccess> parseJson(InputStream stream) throws IOException, ParseException { // begin parsing JSON to Application class ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(stream); JsonParser jp = jsonNode.traverse(); Set<RestAccess> restAccessSet = new HashSet<>(); // continue parsing the token till the end of input is reached while (!jp.isClosed()) { // get the token JsonToken token = jp.nextToken(); // if its the last token then we are done if (token == null) { break; }/*from w w w .j av a 2 s. co m*/ if (JsonToken.FIELD_NAME.equals(token) && "accesses".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after accesses"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { RestAccess restAccess = jsonToRestAccess(jp); restAccessSet.add(restAccess); } } } } return restAccessSet; }