List of usage examples for com.fasterxml.jackson.core JsonToken FIELD_NAME
JsonToken FIELD_NAME
To view the source code for com.fasterxml.jackson.core JsonToken FIELD_NAME.
Click Source Link
From source file:org.lobid.lodmill.JsonDecoder.java
private JsonToken processRecordContent(JsonToken token) throws IOException, JsonParseException { JsonToken currentToken = token;// www . j a v a2 s. c o m String key = null; while (currentToken != null) { if (JsonToken.FIELD_NAME == currentToken) key = this.jsonParser.getCurrentName(); if (JsonToken.START_ARRAY == currentToken) { currentToken = this.jsonParser.nextToken(); if (this.JSONP) currentToken = this.jsonParser.nextToken(); else { // break to treat objects in arrays as new objects if (JsonToken.START_OBJECT == currentToken) break; currentToken = handleValuesOfArrays(currentToken, key); } } if (JsonToken.START_OBJECT == currentToken) { if (this.jsonParser.getCurrentName() == null) break; } else handleValue(currentToken, key); try { currentToken = this.jsonParser.nextToken(); } catch (JsonParseException e) { LOG.debug("Exception at the end of non JSON object, might be JSONP", e); currentToken = null; break; } } return currentToken; }
From source file:com.quinsoft.zeidon.standardoe.ActivateOisFromJsonStream.java
public List<View> read() { try {// ww w .j ava2 s . c om JsonFactory jsonFactory = new JsonFactory(); jp = jsonFactory.createParser(stream); jp.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false); // Read the START_OBJECT JsonToken token = jp.nextToken(); if (token != JsonToken.START_OBJECT) throw new ZeidonException("OI JSON stream doesn't start with object."); token = jp.nextToken(); if (token != JsonToken.FIELD_NAME) throw new ZeidonException("OI JSON missing OI field name."); String fieldName = jp.getCurrentName(); if (fieldName.equals(".meta")) { readFileMeta(); JsonReader reader = getReaderForVersion(); reader.process(); } else { if (StringUtils.equalsIgnoreCase(fieldName, "version")) { token = jp.nextToken(); // Move to value. version = jp.getValueAsString(); token = jp.nextToken(); // Move to next field name. assert token == JsonToken.FIELD_NAME; fieldName = jp.getCurrentName(); } else if (StringUtils.isBlank(options.getVersion())) { throw new ZeidonException("First field must be version"); } totalRootCount = null; if (StringUtils.equalsIgnoreCase(fieldName, "totalRootCount")) { token = jp.nextToken(); // Move to value. totalRootCount = jp.getValueAsInt(); token = jp.nextToken(); // Move to next field name. assert token == JsonToken.FIELD_NAME; fieldName = jp.getCurrentName(); } if (lodDef == null) throw new ZeidonException("JSON stream appears to start with the root entity name (%s)" + " but the LodDef has not been specified.", fieldName); String rootName = lodDef.getRoot().getName(); if (!fieldName.equalsIgnoreCase(rootName)) throw new ZeidonException("The first field in the JSON stream must be the root entity name" + " (%s) or '.meta' but was %s.", rootName, fieldName); view = task.activateEmptyObjectInstance(lodDef); returnList.add(view); if (totalRootCount != null) view.setTotalRootCount(totalRootCount); JsonReader reader = getSimpleReaderForVersion(); reader.process(); } jp.close(); } catch (Exception e) { ZeidonException ze = ZeidonException.wrapException(e); JsonLocation loc = jp.getCurrentLocation(); JsonToken token = jp.getCurrentToken(); ze.appendMessage("Position line=%d col=%d, token=%s", loc.getLineNr(), loc.getColumnNr(), token == null ? "No Token" : token.name()); throw ze; } return returnList; }
From source file:com.tage.calcite.adapter.druid.DruidConnectionImpl.java
/** Parses the output of a {@code topN} query, sending the results to a * {@link Sink}. */// w w w .j ava 2 s . c o m private void parse(com.tage.calcite.adapter.druid.QueryType queryType, InputStream in, Sink sink, List<String> fieldNames, List<Primitive> fieldTypes, Page page) { final JsonFactory factory = new JsonFactory(); final Row.RowBuilder rowBuilder = Row.newBuilder(fieldNames.size()); if (CalcitePrepareImpl.DEBUG) { try { final byte[] bytes = AvaticaUtils.readFullyToBytes(in); System.out.println("Response: " + new String(bytes)); in = new ByteArrayInputStream(bytes); } catch (IOException e) { throw Throwables.propagate(e); } } try (final JsonParser parser = factory.createParser(in)) { switch (queryType) { case TOP_N: if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result") && parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { // loop until token equal to "}" parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } } } break; case SELECT: if (parser.nextToken() == JsonToken.START_ARRAY && parser.nextToken() == JsonToken.START_OBJECT) { page.pagingIdentifier = null; page.offset = -1; expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("result") && parser.nextToken() == JsonToken.START_OBJECT) { if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("pagingIdentifiers") && parser.nextToken() == JsonToken.START_OBJECT) { switch (parser.nextToken()) { case FIELD_NAME: page.pagingIdentifier = parser.getCurrentName(); if (parser.nextToken() == JsonToken.VALUE_NUMBER_INT) { page.offset = parser.getIntValue(); } expect(parser, JsonToken.END_OBJECT); break; case END_OBJECT: } } if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("events") && parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "segmentId"); expectScalarField(parser, "offset"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("event") && parser.nextToken() == JsonToken.START_OBJECT) { parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } expect(parser, JsonToken.END_OBJECT); } parser.nextToken(); } } } break; case GROUP_BY: if (parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() == JsonToken.START_OBJECT) { expectScalarField(parser, "version"); expectScalarField(parser, "timestamp"); if (parser.nextToken() == JsonToken.FIELD_NAME && parser.getCurrentName().equals("event") && parser.nextToken() == JsonToken.START_OBJECT) { parseFields(fieldNames, fieldTypes, rowBuilder, parser); sink.send(rowBuilder.build()); rowBuilder.reset(); } expect(parser, JsonToken.END_OBJECT); } } } } catch (IOException | InterruptedException e) { throw Throwables.propagate(e); } }
From source file:org.elasticsearch.client.sniff.ElasticsearchHostsSniffer.java
private static HttpHost readHost(String nodeId, JsonParser parser, Scheme scheme) throws IOException { HttpHost httpHost = null;//from w ww. ja va2 s. c om 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:com.floragunn.searchguard.dlic.rest.validation.AbstractConfigurationValidator.java
private boolean checkDatatypes() throws Exception { String contentAsJson = XContentHelper.convertToJson(content, false); JsonParser parser = factory.createParser(contentAsJson); JsonToken token = null;//from w w w .j a v a 2 s . c o m while ((token = parser.nextToken()) != null) { if (token.equals(JsonToken.FIELD_NAME)) { String currentName = parser.getCurrentName(); DataType dataType = allowedKeys.get(currentName); if (dataType != null) { JsonToken valueToken = parser.nextToken(); switch (dataType) { case STRING: if (!valueToken.equals(JsonToken.VALUE_STRING)) { wrongDatatypes.put(currentName, "String expected"); } break; case ARRAY: if (!valueToken.equals(JsonToken.START_ARRAY) && !valueToken.equals(JsonToken.END_ARRAY)) { wrongDatatypes.put(currentName, "Array expected"); } break; case OBJECT: if (!valueToken.equals(JsonToken.START_OBJECT) && !valueToken.equals(JsonToken.END_OBJECT)) { wrongDatatypes.put(currentName, "Object expected"); } break; } } } } return wrongDatatypes.isEmpty(); }
From source file:com.cedarsoft.couchdb.io.ActionResponseSerializer.java
@Nonnull public UniqueId deserialize(@Nonnull JsonParser deserializeFrom) throws VersionException, IOException { JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom); String id = null;// w ww . ja v a 2 s .c om String rev = null; while (parser.nextToken() == JsonToken.FIELD_NAME) { String currentName = parser.getCurrentName(); if (currentName.equals(PROPERTY_OK)) { parser.nextToken(JsonToken.VALUE_TRUE); //we don't need that value continue; } if (currentName.equals(PROPERTY_ID)) { parser.nextToken(JsonToken.VALUE_STRING); id = deserializeFrom.getText(); continue; } if (currentName.equals(PROPERTY_REV)) { parser.nextToken(JsonToken.VALUE_STRING); rev = deserializeFrom.getText(); continue; } throw new IllegalStateException("Unexpected field reached <" + currentName + ">"); } parser.verifyDeserialized(id, PROPERTY_ID); parser.verifyDeserialized(rev, PROPERTY_REV); assert rev != null; assert id != null; parser.ensureObjectClosed(); return new UniqueId(new DocId(id), new Revision(rev)); // AbstractJacksonSerializer.nextToken( deserializeFrom, JsonToken.FIELD_NAME ); // if ( deserializeFrom.getCurrentName().equals( PROPERTY_OK ) ) { // } else { // AbstractJacksonSerializer.nextToken( deserializeFrom, JsonToken.VALUE_STRING ); // String error = deserializeFrom.getText(); // AbstractJacksonSerializer.nextFieldValue( deserializeFrom, PROPERTY_REASON ); // String reason = deserializeFrom.getText(); // AbstractJacksonSerializer.closeObject( deserializeFrom ); // return new ActionResponse( new ActionResponse.Error( error, reason ) ); // } }
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//from w w w.j a v a 2s .com * @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:org.seedstack.seed.core.internal.data.DataManagerImpl.java
@Override public void importData(InputStream inputStream, String acceptGroup, String acceptName, boolean clear) { Set<DataImporter<Object>> usedDataImporters = new HashSet<>(); try {/*from www. j a v a 2 s .co m*/ ParsingState state = ParsingState.START; String group = null; String name = null; JsonParser jsonParser = this.jsonFactory .createParser(new InputStreamReader(inputStream, Charset.forName(UTF_8))); JsonToken jsonToken = jsonParser.nextToken(); while (jsonToken != null) { switch (state) { case START: if (jsonToken == JsonToken.START_ARRAY) { state = ParsingState.DEFINITION_START; } else { throwParsingError(jsonParser.getCurrentLocation(), "start array expected"); } break; case DEFINITION_START: if (jsonToken == JsonToken.START_OBJECT) { state = ParsingState.DEFINITION_GROUP; } else { throwParsingError(jsonParser.getCurrentLocation(), "start object expected"); } break; case DEFINITION_GROUP: if (jsonToken == JsonToken.FIELD_NAME && GROUP.equals(jsonParser.getCurrentName())) { group = jsonParser.nextTextValue(); state = ParsingState.DEFINITION_NAME; } else { throwParsingError(jsonParser.getCurrentLocation(), "group field expected"); } break; case DEFINITION_NAME: if (jsonToken == JsonToken.FIELD_NAME && NAME.equals(jsonParser.getCurrentName())) { name = jsonParser.nextTextValue(); state = ParsingState.DEFINITION_ITEMS; } else { throwParsingError(jsonParser.getCurrentLocation(), "name field expected"); } break; case DEFINITION_ITEMS: if (jsonToken == JsonToken.FIELD_NAME && ITEMS.equals(jsonParser.getCurrentName())) { usedDataImporters.add(consumeItems(jsonParser, group, name, acceptGroup, acceptName)); state = ParsingState.DEFINITION_END; } else { throwParsingError(jsonParser.getCurrentLocation(), "items field expected"); } break; case DEFINITION_END: if (jsonToken == JsonToken.END_OBJECT) { group = null; name = null; state = ParsingState.END; } else { throwParsingError(jsonParser.getCurrentLocation(), "end object expected"); } break; case END: if (jsonToken == JsonToken.START_OBJECT) { state = ParsingState.DEFINITION_GROUP; } else if (jsonToken == JsonToken.END_ARRAY) { state = ParsingState.START; } else { throwParsingError(jsonParser.getCurrentLocation(), "start object or end array expected"); } break; default: throwParsingError(jsonParser.getCurrentLocation(), "unexpected parser state"); } jsonToken = jsonParser.nextToken(); } } catch (Exception e1) { for (DataImporter<Object> usedDataImporter : usedDataImporters) { try { usedDataImporter.rollback(); } catch (Exception e2) { e2.initCause(e1); throw SeedException.wrap(e2, DataErrorCode.FAILED_TO_ROLLBACK_IMPORT).put(IMPORTER_CLASS, usedDataImporter.getClass().getName()); } } throw SeedException.wrap(e1, DataErrorCode.IMPORT_FAILED); } for (DataImporter<Object> usedDataImporter : usedDataImporters) { try { usedDataImporter.commit(clear); } catch (Exception e) { throw SeedException.wrap(e, DataErrorCode.FAILED_TO_COMMIT_IMPORT).put(IMPORTER_CLASS, usedDataImporter.getClass().getName()); } } }
From source file:org.fluentd.jvmwatcher.JvmWatcher.java
/** * @param paramFilePath//from ww w . jav a2 s . c o m */ public void loadProperty(String paramFilePath) { if (null == paramFilePath) { return; } try { // load JSON property file. File file = new File(paramFilePath); JsonFactory factory = new JsonFactory(); JsonParser parser = factory.createParser(file); JsonToken token = null; while ((token = parser.nextToken()) != null) { if (token == JsonToken.FIELD_NAME) { if (parser.getText().compareTo("target") == 0) { this.loadTarget(parser); } } } parser.close(); } catch (JsonParseException e) { log.error("Property parse error.", e); } catch (IOException e) { log.error("Property file open error.", e); } catch (Exception e) { log.error("Property file open error.", e); } }
From source file:com.cedarsoft.couchdb.io.CouchDocSerializer.java
@Nonnull private static List<? extends CouchDoc.Attachment> deserializeAttachments( @Nonnull JacksonParserWrapper parserWrapper) throws IOException { List<CouchDoc.Attachment> attachments = new ArrayList<>(); //check for attachments if (parserWrapper.getCurrentToken() == JsonToken.FIELD_NAME && parserWrapper.getCurrentName().equals(PROPERTY_ATTACHMENTS)) { parserWrapper.nextToken(JsonToken.START_OBJECT); while (parserWrapper.nextToken() != JsonToken.END_OBJECT) { String attachmentId = parserWrapper.getCurrentName(); parserWrapper.nextToken(JsonToken.START_OBJECT); parserWrapper.nextFieldValue(PROPERTY_CONTENT_TYPE); String contentType = parserWrapper.getText(); parserWrapper.nextFieldValue("revpos"); parserWrapper.nextFieldValue("digest"); parserWrapper.nextFieldValue("length"); long length = parserWrapper.getNumberValue().longValue(); parserWrapper.nextFieldValue("stub"); attachments.add(new CouchDoc.StubbedAttachment(new AttachmentId(attachmentId), MediaType.valueOf(contentType), length)); parserWrapper.nextToken(JsonToken.END_OBJECT); }/* w w w .j ava 2 s . c o m*/ parserWrapper.nextToken(JsonToken.END_OBJECT); } return attachments; }