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.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); }/* w ww . ja v a2 s . c om*/ 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:com.google.openrtb.json.OpenRtbJsonUtils.java
/** * Skips a field name if necessary, returning the current token then. *//* www. ja v a2s . co m*/ public static JsonToken peekToken(JsonParser par) throws IOException { JsonToken token = par.getCurrentToken(); if (token == null || token == JsonToken.FIELD_NAME) { token = par.nextToken(); } return token; }
From source file:org.mashti.jetson.util.JsonParserUtil.java
/** * Consumes the next token from a JSON stream and checks that the token is a {@link JsonToken#FIELD_NAME}. * Throws {@link JsonParseException} if the token is not a {@link JsonToken#FIELD_NAME}. * * @param parser the parser to read from * @return the field name//from w w w . ja v a2 s. c o m * @throws IOException Signals that an I/O exception has occurred. */ private static String nextFieldName(final JsonParser parser) throws IOException { if (parser.nextToken() == JsonToken.FIELD_NAME) { return parser.getCurrentName(); } throw new JsonParseException("expected some field name", parser.getCurrentLocation()); }
From source file:org.datagator.api.client.MatrixDeserializer.java
@Override public SimpleMatrix deserialize(JsonParser jp, DeserializationContext cntx) throws IOException, JsonProcessingException { int rowsCount = -1; int columnsCount = -1; int bodyRow = -1; int bodyColumn = -1; ArrayList<ArrayList<Object>> columnHeaders = null; JsonToken token = jp.getCurrentToken(); // FIELD_NAME if (!token.equals(JsonToken.FIELD_NAME)) { throw new RuntimeException(String.format("Unexpected token %s", token)); }//from w ww . ja v a 2s .co m while (token.equals(JsonToken.FIELD_NAME)) { String name = jp.getText(); token = jp.nextToken(); if (name.equals("columnHeaders")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } bodyRow = jp.getIntValue(); } else if (name.equals("rowHeaders")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } bodyColumn = jp.getIntValue(); } else if (name.equals("rows")) { if (bodyRow < 0 || bodyColumn < 0) { throw new RuntimeException( "Unexpected property order 'columnHeaders' and 'rowHeaders' should precede 'rows'."); } columnHeaders = parseRows(jp, bodyRow, bodyColumn); } else if (name.equals("rowsCount")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } rowsCount = jp.getIntValue(); } else if (name.equals("columnsCount")) { if (!token.equals(JsonToken.VALUE_NUMBER_INT)) { throw new RuntimeException(String.format("Unexpected token %s", token)); } columnsCount = jp.getIntValue(); } else { throw new RuntimeException(String.format("Unexpected property '%s'", name)); } token = jp.nextToken(); // FIELD_NAME } if (!(0 <= bodyRow && bodyRow <= rowsCount)) { throw new RuntimeException("Invalid Matrix shape"); } if (!(0 <= bodyColumn && bodyColumn <= columnsCount)) { throw new RuntimeException("Invalid Matrix shape"); } // special case: size of empty matrix is 1 x 0 if ((columnsCount == 0) && (rowsCount != 1)) { throw new RuntimeException("Invalid Matrix shape"); } Object[][] rows = new Object[bodyRow][]; for (int r = 0; r < bodyRow; r++) { rows[r] = columnHeaders.get(r).toArray(); } return new SimpleMatrix(bodyRow, bodyColumn, rows, rowsCount, columnsCount); }
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();/*ww w.ja v a2 s . com*/ 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:ai.susi.geo.GeoJsonReader.java
@Override public void run() { // using a streamparser to be able to handle very large input files try {//from ww w . java2s . c om JsonToken token; while (!parser.isClosed() && (token = parser.nextToken()) != null && token != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); if (JsonToken.FIELD_NAME.equals(token) && "type".equals(name)) { parser.nextToken(); //System.out.println(parser.getText()); continue; } if (JsonToken.FIELD_NAME.equals(token) && "features".equals(name)) { token = parser.nextToken(); if (!JsonToken.START_ARRAY.equals(token)) break; while (!parser.isClosed() && (token = parser.nextToken()) != null && token != JsonToken.END_ARRAY) { Feature feature = new Feature(parser); //System.out.println(feature.toString()); try { this.featureQueue.put(feature); } catch (InterruptedException e) { Log.getLog().warn(e); } } } } } catch (IOException e) { Log.getLog().warn(e); } finally { for (int i = 0; i < this.concurrency; i++) { try { this.featureQueue.put(POISON_FEATURE); } catch (InterruptedException e) { } } } }
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 ww. java 2 s. c o 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: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."); } }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
private void assertNextField(String expFieldName, JsonParser p) throws IOException { assertEquals(JsonToken.FIELD_NAME, p.nextToken()); assertEquals(expFieldName, p.getText()); }
From source file:org.mongojack.internal.stream.DBDecoderBsonParser.java
public boolean handleUnknownProperty(DeserializationContext ctxt, JsonDeserializer<?> deserializer, Object beanOrClass, String propertyName) throws IOException { if (propertyName.startsWith("$") || propertyName.equals("code")) { // It's a special server response JsonToken token = getCurrentToken(); if (token == JsonToken.FIELD_NAME) { token = nextToken();/*from w w w. j av a 2 s . c om*/ } if (token == JsonToken.START_ARRAY || token == JsonToken.START_OBJECT) { // The server shouldn't be returning arrays or objects as the // response, skip all children skipChildren(); } // Store the value, whatever type it happens to be dbObject.put(propertyName, getEmbeddedObject()); return true; } return false; }