List of usage examples for com.fasterxml.jackson.core JsonToken END_OBJECT
JsonToken END_OBJECT
To view the source code for com.fasterxml.jackson.core JsonToken END_OBJECT.
Click Source Link
From source file:org.labkey.freezerpro.export.FreezerProCommandResonse.java
/** * Position the parser to the start of the data array object * @param parser/*w ww . ja va 2 s .c om*/ * @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:com.addthis.codec.jackson.CodecBeanDeserializer.java
@Override public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonLocation currentLocation = jp.getTokenLocation(); JsonToken t = jp.getCurrentToken();/*ww w . j a va 2 s.c o m*/ try { if (t == JsonToken.START_OBJECT) { ObjectNode objectNode = jp.readValueAsTree(); handleDefaultsAndRequiredAndNull(ctxt, objectNode); jp = jp.getCodec().treeAsTokens(objectNode); jp.nextToken(); } else if (t == JsonToken.END_OBJECT) { // for some reason this is how they chose to handle single field objects jp.nextToken(); ObjectNode objectNode = ctxt.getNodeFactory().objectNode(); handleDefaultsAndRequiredAndNull(ctxt, objectNode); jp = jp.getCodec().treeAsTokens(objectNode); jp.nextToken(); } Object value = getDelegatee().deserialize(jp, ctxt); if (value instanceof SuperCodable) { ((SuperCodable) value).postDecode(); } return value; } catch (JsonMappingException ex) { throw Jackson.maybeImproveLocation(currentLocation, ex); } }
From source file:org.mongojack.internal.DBRefDeserializer.java
@Override public DBRef deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { // First of all, make sure that we can get a copy of the DBCollection if (jp instanceof JacksonDBCollectionProvider) { K id = null;/*w ww .j a va 2 s . c o m*/ String collectionName = null; JsonToken token = jp.getCurrentToken(); if (token == JsonToken.VALUE_NULL) { return null; } if (token == JsonToken.VALUE_EMBEDDED_OBJECT) { // Someones already kindly decoded it for us Object object = jp.getEmbeddedObject(); if (object instanceof com.mongodb.DBRef) { if (keyDeserializer != null) { id = keyDeserializer.deserialize(jp, ctxt); } else { id = (K) ((com.mongodb.DBRef) object).getId(); } collectionName = ((com.mongodb.DBRef) object).getRef(); } else { throw ctxt.instantiationException(DBRef.class, "Don't know what to do with embedded object: " + object); } } else if (token == JsonToken.START_OBJECT) { token = jp.nextValue(); while (token != JsonToken.END_OBJECT) { if (jp.getCurrentName().equals("$id")) { if (keyDeserializer != null) { id = keyDeserializer.deserialize(jp, ctxt); } else { id = (K) jp.getEmbeddedObject(); } } else if (jp.getCurrentName().equals("$ref")) { collectionName = jp.getText(); } else { // Ignore the rest } token = jp.nextValue(); } } if (id == null) { return null; } if (collectionName == null) { throw ctxt.instantiationException(DBRef.class, "DBRef contains no collection name"); } JacksonDBCollection coll = ((JacksonDBCollectionProvider) jp).getDBCollection(); JacksonDBCollection<T, K> refColl = coll.getReferenceCollection(collectionName, type, keyType); return new FetchableDBRef<T, K>(id, refColl); } else { throw ctxt.instantiationException(DBRef.class, "DBRef can only be deserialised by this deserializer if parser implements " + JacksonDBCollectionProvider.class.getName() + " parser is actually " + jp.getClass().getName()); } }
From source file:com.cedarsoft.serialization.jackson.JacksonParserWrapper.java
public void endObject() throws IOException, JsonParseException { nextToken(JsonToken.END_OBJECT); }
From source file:org.ojai.json.impl.JsonStreamDocumentReader.java
private EventType parseMap() { // we just entered a Map, look ahead to see if // the field name matches an extended type JsonToken nextToken = peekToken();/*from w w w.java 2 s. c o m*/ if (nextToken == JsonToken.END_OBJECT) { return EventType.START_MAP; // empty Map } else if (nextToken != JsonToken.FIELD_NAME) { throw new DecodingException("Encountered " + nextToken + " while looking for a field name."); } String field_name = getCurrentName(); if (field_name.startsWith("$")) { // determine extended type isExtended = true; switch (field_name) { case TAG_LONG: setCurrentEventType(EventType.LONG); break; case TAG_DECIMAL: setCurrentEventType(EventType.DECIMAL); break; case TAG_DATE: setCurrentEventType(EventType.DATE); break; case TAG_TIME: setCurrentEventType(EventType.TIME); break; case TAG_TIMESTAMP: setCurrentEventType(EventType.TIMESTAMP); break; case TAG_INTERVAL: setCurrentEventType(EventType.INTERVAL); break; case TAG_BINARY: setCurrentEventType(EventType.BINARY); break; default: // regular map, return without consuming the field name. isExtended = false; return EventType.START_MAP; } // At this point, we have determined that the current map is // one of the extended type, so let's consume the field name nextToken(); // and move forward so that the parser is at field value, nextToken = nextToken(); // then cache the current value cacheCurrentValue(); // finally, consume the END_OBJECT tag nextToken = nextToken(); if (nextToken != JsonToken.END_OBJECT) { throw new DecodingException("Encountered " + nextToken + " while looking for end object token."); } return currentEvent; } else { return EventType.START_MAP; } }
From source file:com.microsoft.azure.storage.core.WrappedContentKey.java
public static WrappedContentKey deserialize(JsonParser parser) throws JsonParseException, IOException { JsonUtilities.assertIsStartObjectJsonToken(parser); parser.nextToken();/* w w w . java2 s. co m*/ WrappedContentKey wrappedContentKey = new WrappedContentKey(); while (parser.getCurrentToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken(); if (name.equals("KeyId")) { wrappedContentKey.setKeyId(parser.getValueAsString()); } else if (name.equals("EncryptedKey")) { wrappedContentKey.setEncryptedKey(parser.getBinaryValue()); } else if (name.equals("Algorithm")) { wrappedContentKey.setAlgorithm(parser.getValueAsString()); } parser.nextToken(); } JsonUtilities.assertIsEndObjectJsonToken(parser); return wrappedContentKey; }
From source file:org.onosproject.north.aaa.api.parser.impl.UserParser.java
private User jsonToUser(JsonParser jp) throws ParseException, IOException { User.Builder builder = User.builder(); while (true) { JsonToken token = jp.nextToken(); if (JsonToken.END_OBJECT.equals(token)) { // bail out break; }//from w w w .ja va2 s. c o m if (JsonToken.FIELD_NAME.equals(token) && "username".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildUsername(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "password".equals(jp.getCurrentName())) { jp.nextToken(); builder.buildPassword(jp.getText()); } else if (JsonToken.FIELD_NAME.equals(token) && "roles".equals(jp.getCurrentName())) { jp.nextToken(); String roles = jp.getText(); if ("admin".equals(roles) || "user".equals(roles)) { builder.buildRoles(roles); } else { // bail out throw new ParseException("roles must be set to either \"admin\" or \"user\""); } } else if (JsonToken.FIELD_NAME.equals(token) && "switches".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after switches"); } Set<String> switches = new HashSet<>(); while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } switches.add(jp.getText()); } builder.buildSwitches(switches); } else if (JsonToken.FIELD_NAME.equals(token) && "domains".equals(jp.getCurrentName())) { token = jp.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) { // bail out throw new ParseException("expected ARRAY after domains"); } Set<String> domains = new HashSet<>(); while (true) { token = jp.nextToken(); if (JsonToken.END_ARRAY.equals(token)) { // bail out break; } domains.add(jp.getText()); } builder.buildDomains(domains); } 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) && "email".equals(jp.getCurrentName())) { jp.nextToken(); String email = jp.getText(); // verify email by email regex Pattern emailPattern = Pattern.compile(EMAIL_PATTERN); if (!emailPattern.matcher(email).matches()) { // bail out throw new ParseException("email is not valid"); } builder.buildEmail(email); } } return builder.buildAll(); }
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 w w .j av a2s .com } }
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 2 s .com 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:net.floodlightcontroller.loadbalancer.MembersResource.java
protected LBMember jsonToMember(String json) throws IOException { MappingJsonFactory f = new MappingJsonFactory(); JsonParser jp;/* www . j av a 2s .co m*/ LBMember member = new LBMember(); try { 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; }