List of usage examples for com.fasterxml.jackson.core JsonToken START_OBJECT
JsonToken START_OBJECT
To view the source code for com.fasterxml.jackson.core JsonToken START_OBJECT.
Click Source Link
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; }/*from w w w . ja v a2 s. c o m*/ 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:org.onosproject.north.aaa.api.parser.impl.ApplicationParser.java
@Override public Set<Application> parseJson(InputStream stream) throws IOException, ParseException { ObjectMapper mapper = new ObjectMapper(); JsonNode jsonNode = mapper.readTree(stream); JsonParser jp = jsonNode.traverse(); Set<Application> applicationSet = 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 ava 2 s . c om if (JsonToken.FIELD_NAME.equals(token) && "applications".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after applications"); } while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } if (JsonToken.START_OBJECT.equals(token)) { Application app = jsonToApplication(jp); applicationSet.add(app); } } } } return applicationSet; }
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 ww . j a v 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; }
From source file:com.amazonaws.hal.client.HalJsonResourceUnmarshaller.java
@Override public HalResource unmarshall(JsonUnmarshallerContext context) throws Exception { HalResource halResource = new HalResource(); JsonToken token = context.getCurrentToken(); if (token == null) { token = context.nextToken();// w w w. ja va 2 s . c o m } while (token != null && token != JsonToken.END_OBJECT) { if (token == JsonToken.FIELD_NAME) { if (context.testExpression("_links")) { context.nextToken(); halResource.setLinks(HalJsonLinksUnmarshaller.getInstance().unmarshall(context)); } else if (context.testExpression("_embedded")) { context.nextToken(); halResource.setEmbedded(HalJsonEmbeddedUnmarshaller.getInstance().unmarshall(context)); } else { String property = context.readText(); token = context.nextToken(); if (token == JsonToken.START_OBJECT) { context.nextToken(); halResource.addProperty(property, HalJsonMapUnmarshaller.getInstance().unmarshall(context)); } else if (token == JsonToken.START_ARRAY) { context.nextToken(); halResource.addProperty(property, HalJsonListUnmarshaller.getInstance().unmarshall(context)); } else { halResource.addProperty(property, JsonUnmarshallerUtil.getObjectForToken(token, context)); } } } token = context.nextToken(); } return halResource; }
From source file:org.jsfr.json.JacksonParserTest.java
@Test public void testLargeJsonJackson() throws Exception { final AtomicLong counter = new AtomicLong(); ObjectMapper om = new ObjectMapper(); JsonFactory f = new JsonFactory(); JsonParser jp = f.createParser(read("allthethings.json")); long start = System.currentTimeMillis(); jp.nextToken();// w ww .j a v a2 s .c o m jp.nextToken(); jp.nextToken(); while (jp.nextToken() == JsonToken.FIELD_NAME) { if (jp.nextToken() == JsonToken.START_OBJECT) { TreeNode tree = om.readTree(jp); counter.incrementAndGet(); LOGGER.trace("value: {}", tree); } } jp.close(); LOGGER.info("Jackson processes {} value in {} millisecond", counter.get(), System.currentTimeMillis() - start); }
From source file:com.kaaprotech.satu.jackson.SatuDeserializers.java
@Override public JsonDeserializer<?> findMapDeserializer(final MapType type, final DeserializationConfig config, BeanDescription beanDesc, final KeyDeserializer keyDeserializer, final TypeDeserializer elementTypeDeserializer, final JsonDeserializer<?> elementDeserializer) throws JsonMappingException { if (ImmutableMap.class.isAssignableFrom(type.getRawClass())) { return new StdDeserializer<Object>(type) { private static final long serialVersionUID = 1L; @Override//from w w w. j a va 2 s . co m public Object deserialize(JsonParser jp, DeserializationContext context) throws IOException { JsonToken t = jp.getCurrentToken(); if (t == JsonToken.START_OBJECT) { t = jp.nextToken(); } if (t != JsonToken.FIELD_NAME && t != JsonToken.END_OBJECT) { throw context.mappingException(type.getRawClass()); } MutableMap<Object, Object> m = Maps.mutable.of(); for (; jp.getCurrentToken() == JsonToken.FIELD_NAME; jp.nextToken()) { // Pointing to field name String fieldName = jp.getCurrentName(); Object key = (keyDeserializer == null) ? fieldName : keyDeserializer.deserializeKey(fieldName, context); t = jp.nextToken(); Object value; if (t == JsonToken.VALUE_NULL) { value = null; } else if (elementDeserializer == null) { value = jp.readValueAs(type.getContentType().getRawClass()); } else if (elementTypeDeserializer == null) { value = elementDeserializer.deserialize(jp, context); } else { value = elementDeserializer.deserializeWithType(jp, context, elementTypeDeserializer); } m.put(key, value); } return m.toImmutable(); } }; } return super.findMapDeserializer(type, config, beanDesc, keyDeserializer, elementTypeDeserializer, elementDeserializer); }
From source file:io.wcm.caravan.io.jsontransform.source.JacksonStreamSource.java
private JsonElement parseJsonElement(final JsonToken token) throws IOException { String key = parser.getCurrentName(); if (JsonToken.START_OBJECT.equals(token)) { return JsonElement.DEFAULT_START_OBJECT; } else if (JsonToken.END_OBJECT.equals(token)) { return JsonElement.DEFAULT_END_OBJECT; } else if (JsonToken.START_ARRAY.equals(token)) { return JsonElement.DEFAULT_START_ARRAY; } else if (JsonToken.END_ARRAY.equals(token)) { return JsonElement.DEFAULT_END_ARRAY; } else if (JsonToken.FIELD_NAME.equals(token)) { return handleFieldName(key); }// w w w. jav a 2s.c o m return JsonElement.value(key, parseValue(token)); }
From source file:org.ojai.beans.jackson.DocumentParser.java
@Override public JsonToken nextToken() throws IOException, JsonParseException { if (tokens.isEmpty() && (_currEventType = r.next()) != null) { if (r.inMap() && r.getFieldName() != null && _currEventType != EventType.END_MAP && _currEventType != EventType.END_ARRAY) { tokens.add(JsonToken.FIELD_NAME); }//ww w . j a v a 2 s . c o m switch (_currEventType) { case START_ARRAY: tokens.add(JsonToken.START_ARRAY); break; case END_ARRAY: tokens.add(JsonToken.END_ARRAY); break; case START_MAP: tokens.add(JsonToken.START_OBJECT); break; case END_MAP: tokens.add(JsonToken.END_OBJECT); break; case NULL: tokens.add(JsonToken.VALUE_NULL); break; case STRING: tokens.add(JsonToken.VALUE_STRING); break; case BYTE: case SHORT: case INT: case LONG: tokens.add(JsonToken.VALUE_NUMBER_INT); break; case DECIMAL: case DOUBLE: case FLOAT: tokens.add(JsonToken.VALUE_NUMBER_FLOAT); break; case BOOLEAN: tokens.add(r.getBoolean() ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE); break; case DATE: case TIME: case TIMESTAMP: case INTERVAL: case BINARY: tokens.add(JsonToken.VALUE_EMBEDDED_OBJECT); break; } } _currToken = tokens.isEmpty() ? JsonToken.NOT_AVAILABLE : tokens.remove(); return _currToken; }
From source file:name.gumartinm.weather.information.parser.JPOSCurrentParser.java
private void getCurrentWeatherData(final Current currentWeatherData, final JsonParser jParser) throws JsonParseException, IOException { if (jParser.nextToken() == JsonToken.START_OBJECT) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); if (nextToken == JsonToken.START_OBJECT) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); }/*w w w .j av a 2 s .c o m*/ if (nextToken == JsonToken.START_ARRAY) { JsonToken tokenNext = jParser.nextToken(); while (tokenNext != JsonToken.END_ARRAY) { if (tokenNext == JsonToken.START_OBJECT) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); } tokenNext = jParser.nextToken(); } } if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) { this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname); } } } }
From source file:com.opentable.jaxrs.StreamedJsonResponseConverter.java
private <T> void doRead(Callback<T> callback, TypeReference<T> type, final JsonParser jp) throws IOException { expect(jp, jp.nextToken(), JsonToken.START_OBJECT); expect(jp, jp.nextToken(), JsonToken.FIELD_NAME); if (!"results".equals(jp.getCurrentName())) { throw new JsonParseException("expecting results field", jp.getCurrentLocation()); }/*from w w w . ja va2 s . c o m*/ expect(jp, jp.nextToken(), JsonToken.START_ARRAY); // As noted in a well-hidden comment in the MappingIterator constructor, // readValuesAs requires the parser to be positioned after the START_ARRAY // token with an empty current token jp.clearCurrentToken(); Iterator<T> iter = jp.readValuesAs(type); while (iter.hasNext()) { try { callback.call(iter.next()); } catch (CallbackRefusedException e) { LOG.debug("callback refused execution, finishing.", e); return; } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new IOException("Callback interrupted", e); } catch (Exception e) { Throwables.propagateIfPossible(e, IOException.class); throw new IOException("Callback failure", e); } } if (jp.nextValue() != JsonToken.VALUE_TRUE || !jp.getCurrentName().equals("success")) { throw new IOException("Streamed receive did not terminate normally; inspect server logs for cause."); } }