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:com.addthis.codec.config.ConfigTraversingParser.java
@Override public JsonToken nextToken() throws IOException, JsonParseException { if (_nextToken != null) { _currToken = _nextToken;/*from ww w . j a v a 2s . c o m*/ _nextToken = null; return _currToken; } // are we to descend to a container child? if (_startContainer) { _startContainer = false; // minor optimization: empty containers can be skipped if (!_nodeCursor.currentHasChildren()) { _currToken = (_currToken == JsonToken.START_OBJECT) ? JsonToken.END_OBJECT : JsonToken.END_ARRAY; return _currToken; } _nodeCursor = _nodeCursor.iterateChildren(); _currToken = _nodeCursor.nextToken(); if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { _startContainer = true; } currentConfig = currentNode(); return _currToken; } // No more content? if (_nodeCursor == null) { _closed = true; // if not already set currentConfig = null; return null; } // Otherwise, next entry from current cursor _currToken = _nodeCursor.nextToken(); if (_currToken != null) { currentConfig = currentNode(); if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { _startContainer = true; } return _currToken; } // null means no more children; need to return end marker _currToken = _nodeCursor.endToken(); _nodeCursor = _nodeCursor.getParent(); currentConfig = currentNode(); return _currToken; }
From source file:mSearch.filmlisten.FilmlisteLesen.java
public void readFilmListe(String source, final ListeFilme listeFilme, int days) { Log.sysLog("Liste Filme lesen von: " + source); JsonToken jsonToken;/*from w w w .j av a2s . c o m*/ String sender = "", thema = ""; listeFilme.clear(); this.notifyStart(source, PROGRESS_MAX); // fr die Progressanzeige if (days > 0) { final long maxDays = 1000L * 60L * 60L * 24L * days; seconds = new Date().getTime() - maxDays; } else { seconds = 0; } try (InputStream in = selectDecompressor(source, getInputStreamForLocation(source)); JsonParser jp = new JsonFactory().createParser(in)) { if (jp.nextToken() != JsonToken.START_OBJECT) { throw new IllegalStateException("Expected data to start with an Object"); } while ((jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { for (int k = 0; k < ListeFilme.MAX_ELEM; ++k) { listeFilme.metaDaten[k] = jp.nextTextValue(); } break; } } while ((jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { // sind nur die Feldbeschreibungen, brauch mer nicht jp.nextToken(); break; } } while (!Config.getStop() && (jsonToken = jp.nextToken()) != null) { if (jsonToken == JsonToken.END_OBJECT) { break; } if (jp.isExpectedStartArrayToken()) { DatenFilm datenFilm = new DatenFilm(); for (int i = 0; i < DatenFilm.JSON_NAMES.length; ++i) { //if we are in FASTAUTO mode, we dont need film descriptions. //this should speed up loading on low end devices... if (workMode == WorkMode.FASTAUTO) { if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_BESCHREIBUNG || DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_WEBSEITE || DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_GEO) { jp.nextToken(); continue; } } // if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_TITEL) { // //convert UNICODE et al to java strings. // datenFilm.arr[DatenFilm.JSON_NAMES[i]] = StringEscapeUtils.unescapeJava(jp.nextTextValue()); // } else if (DatenFilm.JSON_NAMES[i] == DatenFilm.FILM_NEU) { final String value = jp.nextTextValue(); //This value is unused... //datenFilm.arr[DatenFilm.FILM_NEU_NR] = value; datenFilm.setNew(Boolean.parseBoolean(value)); } else { datenFilm.arr[DatenFilm.JSON_NAMES[i]] = jp.nextTextValue(); } /// fr die Entwicklungszeit if (datenFilm.arr[DatenFilm.JSON_NAMES[i]] == null) { datenFilm.arr[DatenFilm.JSON_NAMES[i]] = ""; } } if (datenFilm.arr[DatenFilm.FILM_SENDER].isEmpty()) { datenFilm.arr[DatenFilm.FILM_SENDER] = sender; } else { sender = datenFilm.arr[DatenFilm.FILM_SENDER]; } if (datenFilm.arr[DatenFilm.FILM_THEMA].isEmpty()) { datenFilm.arr[DatenFilm.FILM_THEMA] = thema; } else { thema = datenFilm.arr[DatenFilm.FILM_THEMA]; } listeFilme.importFilmliste(datenFilm); if (seconds > 0) { // muss "rckwrts" laufen, da das Datum sonst 2x gebaut werden muss // wenns drin bleibt, kann mans noch ndern if (!checkDate(datenFilm)) { listeFilme.remove(datenFilm); } } } } } catch (FileNotFoundException ex) { Log.errorLog(894512369, "FilmListe existiert nicht: " + source); listeFilme.clear(); } catch (Exception ex) { Log.errorLog(945123641, ex, "FilmListe: " + source); listeFilme.clear(); } if (Config.getStop()) { Log.sysLog("--> Abbruch"); listeFilme.clear(); } notifyFertig(source, listeFilme); }
From source file:com.cedarsoft.serialization.jackson.test.UserSerializer.java
@Nonnull @Override//from w w w.j ava 2 s.c o m public User deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws IOException, VersionException, JsonProcessingException { verifyVersionWritable(formatVersion); List<? extends Email> mails = null; List<? extends Role> roles = null; String name = null; UserDetails userDetails = null; Email singleEmail = null; JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom); while (parser.nextToken() == JsonToken.FIELD_NAME) { String currentName = parser.getCurrentName(); if (currentName.equals(PROPERTY_NAME)) { parser.nextToken(JsonToken.VALUE_STRING); name = deserializeFrom.getText(); continue; } if (currentName.equals(PROPERTY_EMAILS)) { parser.nextToken(JsonToken.START_ARRAY); mails = deserializeArray(Email.class, deserializeFrom, formatVersion); continue; } if (currentName.equals(PROPERTY_ROLES)) { parser.nextToken(JsonToken.START_ARRAY); roles = deserializeArray(Role.class, deserializeFrom, formatVersion); continue; } if (currentName.equals(PROPERTY_USER_DETAILS)) { parser.nextToken(JsonToken.START_OBJECT); userDetails = deserialize(UserDetails.class, formatVersion, deserializeFrom); continue; } if (currentName.equals(PROPERTY_SINGLE_EMAIL)) { parser.nextToken(JsonToken.VALUE_STRING); singleEmail = deserialize(Email.class, formatVersion, deserializeFrom); continue; } throw new IllegalStateException("Unexpected field reached <" + currentName + ">"); } //Verify deserialization parser.verifyDeserialized(mails, PROPERTY_EMAILS); parser.verifyDeserialized(roles, PROPERTY_ROLES); parser.verifyDeserialized(userDetails, PROPERTY_USER_DETAILS); parser.verifyDeserialized(singleEmail, PROPERTY_SINGLE_EMAIL); parser.verifyDeserialized(name, PROPERTY_NAME); assert mails != null; assert roles != null; assert name != null; assert userDetails != null; assert singleEmail != null; parser.ensureObjectClosed(); return new User(name, mails, roles, singleEmail, userDetails); }
From source file:com.github.shyiko.jackson.module.advice.AdvisedBeanDeserializer.java
/** * Main deserialization method for bean-based objects (POJOs). * <p/>/* w ww.ja v a2 s . c o m*/ * NOTE: was declared 'final' in 2.2; should NOT be to let extensions * like Afterburner change definition. */ @Override public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonToken t = jp.getCurrentToken(); // common case first: if (t == JsonToken.START_OBJECT) { if (_vanillaProcessing) { return vanillaDeserialize(jp, ctxt, jp.nextToken()); } jp.nextToken(); if (_objectIdReader != null) { return deserializeWithObjectId(jp, ctxt); } return deserializeFromObject(jp, ctxt); } return _deserializeOther(jp, ctxt, t); }
From source file:com.tlongdev.bktf.interactor.TlongdevPriceListInteractor.java
private int parseJson(InputStream inputStream) throws IOException { //Create a parser from the input stream for fast parsing and low impact on memory JsonFactory factory = new JsonFactory(); JsonParser parser = factory.createParser(inputStream); Vector<ContentValues> cVVector = new Vector<>(); int retVal = 0; int count = 0; //Not a JSON if it doesn't start with START OBJECT if (parser.nextToken() != JsonToken.START_OBJECT) { return -1; }//from ww w. j av a 2 s.co m while (parser.nextToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken(); switch (name) { case "success": if (parser.getIntValue() == 0) { retVal = 1; } break; case "message": errorMessage = parser.getText(); break; case "count": count = parser.getIntValue(); break; case "prices": while (parser.nextToken() != JsonToken.END_ARRAY) { ContentValues values = buildContentValues(parser); cVVector.add(values); } if (cVVector.size() > 0) { ContentValues[] cvArray = new ContentValues[cVVector.size()]; cVVector.toArray(cvArray); //Insert all the data into the database rowsInserted = mContext.getContentResolver().bulkInsert(PriceEntry.CONTENT_URI, cvArray); Log.v(LOG_TAG, "inserted " + rowsInserted + " rows into prices table"); } break; } } parser.close(); return retVal; }
From source file:org.elasticsearch.client.sniff.ElasticsearchHostsSniffer.java
private static HttpHost readHost(String nodeId, JsonParser parser, Scheme scheme) throws IOException { HttpHost httpHost = null;//www . ja v a 2 s . c o m String fieldName = null; while (parser.nextToken() != JsonToken.END_OBJECT) { if (parser.getCurrentToken() == JsonToken.FIELD_NAME) { fieldName = parser.getCurrentName(); } else if (parser.getCurrentToken() == JsonToken.START_OBJECT) { if ("http".equals(fieldName)) { while (parser.nextToken() != JsonToken.END_OBJECT) { if (parser.getCurrentToken() == JsonToken.VALUE_STRING && "publish_address".equals(parser.getCurrentName())) { URI boundAddressAsURI = URI.create(scheme + "://" + parser.getValueAsString()); httpHost = new HttpHost(boundAddressAsURI.getHost(), boundAddressAsURI.getPort(), boundAddressAsURI.getScheme()); } else if (parser.getCurrentToken() == JsonToken.START_OBJECT) { parser.skipChildren(); } } } else { parser.skipChildren(); } } } //http section is not present if http is not enabled on the node, ignore such nodes if (httpHost == null) { logger.debug("skipping node [" + nodeId + "] with http disabled"); return null; } return httpHost; }
From source file:org.mongojack.internal.object.BsonObjectTraversingParser.java
@Override public JsonToken nextToken() throws IOException { if (nextToken != null) { _currToken = nextToken;//from ww w . j av a 2 s. c o m nextToken = null; return _currToken; } // are we to descend to a container child? if (startContainer) { startContainer = false; // minor optimization: empty containers can be skipped if (!nodeCursor.currentHasChildren()) { _currToken = (_currToken == JsonToken.START_OBJECT) ? JsonToken.END_OBJECT : JsonToken.END_ARRAY; return _currToken; } nodeCursor = nodeCursor.iterateChildren(); _currToken = nodeCursor.nextToken(); if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { startContainer = true; } return _currToken; } // No more content? if (nodeCursor == null) { closed = true; // if not already set return null; } // Otherwise, next entry from currentFieldName cursor _currToken = nodeCursor.nextToken(); if (_currToken != null) { if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { startContainer = true; } return _currToken; } // null means no more children; need to return end marker _currToken = nodeCursor.endToken(); nodeCursor = nodeCursor.getParent(); return _currToken; }
From source file:com.netflix.hollow.jsonadapter.HollowJsonAdapter.java
private int parseSubType(JsonParser parser, JsonToken currentToken, String subType) throws IOException { HollowSchema subTypeSchema = hollowSchemas.get(subType); switch (subTypeSchema.getSchemaType()) { case OBJECT://from w ww . ja v a 2s . com if (currentToken != JsonToken.START_OBJECT) throw new IOException("Expecting to parse a " + subType + ", which is a " + subTypeSchema.getSchemaType() + ", expected JsonToken.START_OBJECT but instead found a " + currentToken.toString()); return addObject(parser, subType); case LIST: case SET: if (currentToken != JsonToken.START_ARRAY) throw new IOException("Expecting to parse a " + subType + ", which is a " + subTypeSchema.getSchemaType() + ", expected JsonToken.START_ARRAY but instead found a " + currentToken.toString()); return addSubArray(parser, subType, getWriteRecord(subType)); case MAP: switch (currentToken) { case START_ARRAY: return addStructuredMap(parser, subType, (HollowMapWriteRecord) getWriteRecord(subType)); case START_OBJECT: return addUnstructuredMap(parser, subType, (HollowMapWriteRecord) getWriteRecord(subType)); default: throw new IOException( "Expecting to parse a " + subType + ", which is a " + subTypeSchema.getSchemaType() + ", expected JsonToken.START_ARRAY or JsonToken.START_OBJECT but instead found a " + currentToken.toString()); } } throw new IOException(); }
From source file:org.springframework.data.couchbase.core.convert.translation.JacksonTranslationService.java
/** * Helper method to decode an object recursively. * * @param parser the JSON parser with the content. * @param target the target where the content should be stored. * * @throws IOException//w w w . ja v a 2 s . co m * @returns the decoded object. */ private CouchbaseDocument decodeObject(final JsonParser parser, final CouchbaseDocument target) throws IOException { JsonToken currentToken = parser.nextToken(); String fieldName = ""; while (currentToken != null && currentToken != JsonToken.END_OBJECT) { if (currentToken == JsonToken.START_OBJECT) { target.put(fieldName, decodeObject(parser, new CouchbaseDocument())); } else if (currentToken == JsonToken.START_ARRAY) { target.put(fieldName, decodeArray(parser, new CouchbaseList())); } else if (currentToken == JsonToken.FIELD_NAME) { fieldName = parser.getCurrentName(); } else { target.put(fieldName, decodePrimitive(currentToken, parser)); } currentToken = parser.nextToken(); } return target; }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
@Test public void testNested3() throws IOException { JsonParser p = new JsonFactory() .createParser("{\"a\":{\"$type\":\"y\", \"c\":2, \"d\":2.1}, \"$type\":\"x\", \"b\":1.1}"); p.nextToken(); // START_OBJECT p.nextToken(); // FIELD_NAME TypeScannerJsonParser p2 = new TypeScannerJsonParser(p); assertEquals("x", p2.findType()); assertNextField("a", p2); assertEquals(JsonToken.START_OBJECT, p2.nextToken()); // start nested object p2.nextToken(); // FIELD_NAME assertEquals("y", p2.findType()); assertNextField("c", p2); assertNextIntValue(2, p2);//from ww w .ja v a 2 s.c o m assertNextField("d", p2); assertNextFloatValue(2.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); // end nested object assertNextField("b", p2); assertNextFloatValue(1.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); assertNull(p2.nextToken()); }