List of usage examples for com.fasterxml.jackson.core JsonToken START_ARRAY
JsonToken START_ARRAY
To view the source code for com.fasterxml.jackson.core JsonToken START_ARRAY.
Click Source Link
From source file:org.nuxeo.connect.tools.report.viewer.Viewer.java
public static void main(String[] varargs) throws IOException, ParseException { class Arguments { Options options = new Options() .addOption(Option.builder("i").longOpt("input").hasArg().argName("file") .desc("report input file").build()) .addOption(Option.builder("o").longOpt("output").hasArg().argName("file") .desc("thread dump output file").build()); final CommandLine commandline = new DefaultParser().parse(options, varargs); Arguments() throws ParseException { }/*from w ww. ja v a 2 s. c o m*/ InputStream input() throws IOException { if (!commandline.hasOption('i')) { return System.in; } return Files.newInputStream(Paths.get(commandline.getOptionValue('i'))); } PrintStream output() throws IOException { if (!commandline.hasOption('o')) { return System.out; } return new PrintStream(commandline.getOptionValue('o')); } } Arguments arguments = new Arguments(); final JsonFactory jsonFactory = new JsonFactory(); PrintStream output = arguments.output(); JsonParser parser = jsonFactory.createParser(arguments.input()); ObjectMapper mapper = new ObjectMapper(); while (!parser.isClosed() && parser.nextToken() != JsonToken.NOT_AVAILABLE) { String hostid = parser.nextFieldName(); output.println(hostid); { parser.nextToken(); while (parser.nextToken() == JsonToken.FIELD_NAME) { if ("mx-thread-dump".equals(parser.getCurrentName())) { parser.nextToken(); // start mx-thread-dump report while (parser.nextToken() == JsonToken.FIELD_NAME) { if ("value".equals(parser.getCurrentName())) { parser.nextToken(); printThreadDump(mapper.readTree(parser), output); } else { parser.nextToken(); parser.skipChildren(); } } } else if ("mx-thread-deadlocked".equals(parser.getCurrentName())) { parser.nextToken(); while (parser.nextToken() == JsonToken.FIELD_NAME) { if ("value".equals(parser.getCurrentName())) { if (parser.nextToken() == JsonToken.START_ARRAY) { printThreadDeadlocked(mapper.readerFor(Long.class).readValue(parser), output); } } else { parser.nextToken(); parser.skipChildren(); } } } else if ("mx-thread-monitor-deadlocked".equals(parser.getCurrentName())) { parser.nextToken(); while (parser.nextToken() == JsonToken.FIELD_NAME) { if ("value".equals(parser.getCurrentName())) { if (parser.nextToken() == JsonToken.START_ARRAY) { printThreadMonitorDeadlocked(mapper.readerFor(Long.class).readValues(parser), output); } } else { parser.nextToken(); parser.skipChildren(); } } } else { parser.nextToken(); parser.skipChildren(); } } } } }
From source file:org.datagator.api.client.MatrixDeserializer.java
private static ArrayList<ArrayList<Object>> parseRows(JsonParser jp, int bodyRow, int bodyColumn) throws IOException, JsonProcessingException { ArrayList<ArrayList<Object>> columnHeaders = new ArrayList<ArrayList<Object>>(); int rowIndex = 0; JsonToken token = jp.getCurrentToken(); // START_ARRAY if (!token.equals(JsonToken.START_ARRAY)) { throw new RuntimeException(String.format("Unexpected token %s", token)); }/*from w w w .ja v a2 s. c om*/ token = jp.nextToken(); // START_ARRAY while (token.equals(JsonToken.START_ARRAY)) { int columnIndex = 0; if (rowIndex < bodyRow) { ArrayList<Object> rowBuffer = new ArrayList<Object>(); token = jp.nextToken(); while (!token.equals(JsonToken.END_ARRAY)) { rowBuffer.add(jp.getText()); columnIndex += 1; token = jp.nextToken(); } columnHeaders.add(rowBuffer); } else { token = jp.nextToken(); while (!token.equals(JsonToken.END_ARRAY)) { columnIndex += 1; token = jp.nextToken(); } } rowIndex += 1; token = jp.nextToken(); // START_ARRAY } return columnHeaders; }
From source file:dk.dma.navnet.messages.TextMessageReader.java
public TextMessageReader(String message) throws IOException { requireNonNull(message);/*from ww w.j ava2 s . c o m*/ JsonFactory jsonF = new JsonFactory(); jp = jsonF.createJsonParser(message); if (jp.nextToken() != JsonToken.START_ARRAY) { throw new IOException("Expected the start of a JSON array, but was '" + jp.getText() + "'"); } }
From source file:com.basistech.rosette.dm.jackson.array.MorphoAnalysisListArrayDeserializer.java
@Override public List<MorphoAnalysis> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() != JsonToken.START_ARRAY) { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "Expected array of items"); }/* w ww . j av a 2 s .c om*/ List<MorphoAnalysis> results = Lists.newArrayList(); MorphoAnalysisTypes type = MorphoAnalysisTypes.PLAIN; while (jp.nextToken() != JsonToken.END_ARRAY) { if (jp.getCurrentToken() == JsonToken.VALUE_NUMBER_INT) { type = MorphoAnalysisTypes.byOrdinal(jp.getIntValue()); jp.nextToken(); } results.add(jp.readValueAs(type.getMorphoAnalysisClass())); } return ImmutableList.copyOf(results); }
From source file:org.tanrabad.survey.service.json.MultiPolygonTypeConverter.java
@Override public List<JsonPolygon> parse(JsonParser jsonParser) throws IOException { List<JsonPolygon> polygonList; if (jsonParser.getCurrentToken() == JsonToken.START_ARRAY) { polygonList = new ArrayList<>(); while (jsonParser.nextToken() != JsonToken.END_ARRAY) { ArrayList<List<Location>> polygon = new ArrayList<>(); while (jsonParser.nextToken() != JsonToken.END_ARRAY) { polygon.add(getChildPolygon(jsonParser)); }/*from w ww.j av a 2 s .c o m*/ polygonList.add(new JsonPolygon(getBoundary(polygon), getHoles(polygon))); } } else { polygonList = null; } return polygonList; }
From source file:io.swagger.inflector.config.DirectionDeserializer.java
@Override public Set<Configuration.Direction> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.VALUE_FALSE) { return EnumSet.noneOf(Configuration.Direction.class); } else if (token == JsonToken.VALUE_TRUE) { return EnumSet.allOf(Configuration.Direction.class); } else if (token == JsonToken.START_ARRAY) { final Set<Configuration.Direction> items = EnumSet.noneOf(Configuration.Direction.class); while (true) { final JsonToken next = jp.nextToken(); if (next == JsonToken.VALUE_STRING) { final String name = jp.getText(); items.add(Configuration.Direction.valueOf(name)); } else if (next == JsonToken.END_ARRAY) { return items; } else { break; }/*from w w w. ja v a 2 s. c om*/ } } throw ctxt.mappingException(Configuration.Direction.class); }
From source file:com.taveloper.http.test.JsonParseManual.java
public ActivityFeed parseManual(InputStream bais, JsonReaderable readerable) throws IOException { StreamParseUtil.startParsing(parser); JsonToken currentToken = parser.getCurrentToken(); if (currentToken == JsonToken.START_OBJECT) { // System.out.println("JsonToken.START_OBJECT"); return (ActivityFeed) readerable.readJson(parser); } else if (currentToken == JsonToken.START_ARRAY) { System.out.println("JsonToken.START_ARRAY"); }// w ww .j av a2 s. co m bais.close(); return null; }
From source file:com.orange.clara.cloud.truststore.CertificateJsonDeserializer.java
@Override public List<Certificate> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = (ObjectMapper) jp.getCodec(); if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) { final List<String> certificates = mapper.readValue(jp, new TypeReference<List<String>>() { });/*from w w w . jav a 2s .c o m*/ final List<Certificate> collect = certificates.stream().map(e -> CertificateFactory.newInstance(e)) .collect(Collectors.toList()); return collect; } else { //consume this stream mapper.readTree(jp); return new ArrayList<Certificate>(); } }
From source file:com.spotify.ffwd.filter.FilterDeserializer.java
@Override public Filter deserialize(JsonParser p, DeserializationContext ctx) throws IOException, JsonProcessingException { if (p.getCurrentToken() != JsonToken.START_ARRAY) { throw ctx.wrongTokenException(p, JsonToken.START_ARRAY, null); }/*www . j av a 2 s .c o m*/ final String id = p.nextTextValue(); final PartialDeserializer d = suppliers.get(id); if (d == null) { throw ctx.weirdStringException(id, Filter.class, String.format("Expected one of %s", suppliers.keySet())); } final Filter instance = d.deserialize(p, ctx); if (p.getCurrentToken() != JsonToken.END_ARRAY) { throw ctx.wrongTokenException(p, JsonToken.END_ARRAY, null); } return instance; }
From source file:com.basistech.rosette.dm.jackson.array.ListAttributeArrayDeserializer.java
@Override @SuppressWarnings("unchecked") public ListAttribute deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() == JsonToken.START_ARRAY) { // this is what we expect. // we advance to be in the same place the 'else' will be -- the first FIELD_NAME. jp.nextToken();//from w w w. j a v a2 s . c o m } else { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "ListAttributeDeserializer called not array start."); } if (jp.getCurrentToken() != JsonToken.VALUE_STRING) { throw ctxt.mappingException("Expected VALUE_STRING for item type."); } String itemTypeKeyName = jp.getText(); KnownAttribute attribute = KnownAttribute.getAttributeForKey(itemTypeKeyName); if (attribute == null) { attribute = KnownAttribute.UNKNOWN; } Class<? extends BaseAttribute> itemClass = attribute.attributeClass(); ListAttribute.Builder<BaseAttribute> builder = new ListAttribute.Builder<>(attribute.attributeClass()); List<BaseAttribute> items = Lists.newArrayList(); if (jp.nextToken() != JsonToken.START_ARRAY) { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "No array of values for list."); } // we just read the elements as we see them, while (jp.nextToken() != JsonToken.END_ARRAY) { // the START_ARRAY case, which is _normal_. Read the elements. items.add(jp.readValueAs(itemClass)); } builder.setItems(items); // we are still in the top-level array ... if (jp.nextToken() != JsonToken.START_OBJECT) { throw ctxt.wrongTokenException(jp, JsonToken.START_OBJECT, "No extended properties for list."); } Map<String, Object> props = jp.readValueAs(new TypeReference<Map<String, Object>>() { }); for (Map.Entry<String, Object> me : props.entrySet()) { builder.extendedProperty(me.getKey(), me.getValue()); } jp.nextToken(); // consume the END_OBJECT of the extended props return builder.build(); }