List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_STRING
JsonToken VALUE_STRING
To view the source code for com.fasterxml.jackson.core JsonToken VALUE_STRING.
Click Source Link
From source file:com.cedarsoft.serialization.jackson.test.UserSerializer.java
@Nonnull @Override//from w w w . j a v a 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.cinnober.msgcodec.json.TypeScannerJsonParser.java
private String findTypeInTokens() throws IOException { tokens.addFirst(currentToken);/*from w w w . ja v a 2 s . c om*/ try { for (Iterator<Token> it = tokens.iterator();;) { Token token = it.next(); switch (token.getType()) { case FIELD_NAME: if (token.getText().equals(TYPE_FIELD)) { it.remove(); Token typeToken = it.next(); it.remove(); if (typeToken.getType() != JsonToken.VALUE_STRING) { throw new DecodeException("Expected string value for field '" + TYPE_FIELD + "'"); } return typeToken.getText(); } else { skipValue(it); } break; case END_OBJECT: throw new DecodeException("Reached end of object. Field '" + TYPE_FIELD + "' not found"); default: throw new DecodeException("Unexpected JSON token " + token.getType()); } } } catch (NoSuchElementException e) { throw new DecodeException("Unexpected JSON token null", e); } }
From source file:com.cedarsoft.serialization.test.performance.Bson4JacksonTest.java
@Test public void testParse() throws Exception { JsonParser parser = jsonFactory.createJsonParser(Hex.decodeHex(BSON.toCharArray())); assertEquals(JsonToken.START_OBJECT, parser.nextToken()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("id", parser.getCurrentName()); assertEquals(JsonToken.VALUE_STRING, parser.nextToken()); assertEquals("Canon Raw", parser.getText()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("dependent", parser.getCurrentName()); assertEquals(JsonToken.VALUE_FALSE, parser.nextToken()); assertFalse(parser.getBooleanValue()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("extension", parser.getCurrentName()); assertEquals(JsonToken.START_OBJECT, parser.nextToken()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("extension", parser.getCurrentName()); assertEquals(JsonToken.VALUE_STRING, parser.nextToken()); assertEquals("cr2", parser.getText()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("default", parser.getCurrentName()); assertEquals(JsonToken.VALUE_TRUE, parser.nextToken()); assertTrue(parser.getBooleanValue()); assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); assertEquals("delimiter", parser.getCurrentName()); assertEquals(JsonToken.VALUE_STRING, parser.nextToken()); assertEquals(".", parser.getText()); assertEquals(JsonToken.END_OBJECT, parser.nextToken()); assertEquals(JsonToken.END_OBJECT, parser.nextToken()); assertNull(parser.nextToken());/*from w w w . jav a 2 s .c o m*/ }
From source file:org.mongojack.internal.object.BsonObjectCursor.java
private static JsonToken getToken(Object o) { if (o == null) { return JsonToken.VALUE_NULL; } else if (o instanceof Iterable) { return JsonToken.START_ARRAY; } else if (o instanceof BSONObject) { return JsonToken.START_OBJECT; } else if (o instanceof Number) { if (o instanceof Double || o instanceof Float || o instanceof BigDecimal) { return JsonToken.VALUE_NUMBER_FLOAT; } else {//from www . j av a2 s . co m return JsonToken.VALUE_NUMBER_INT; } } else if (o instanceof Boolean) { if ((Boolean) o) { return JsonToken.VALUE_TRUE; } else { return JsonToken.VALUE_FALSE; } } else if (o instanceof CharSequence) { return JsonToken.VALUE_STRING; } else if (o instanceof ObjectId) { return JsonToken.VALUE_EMBEDDED_OBJECT; } else if (o instanceof DBRef) { return JsonToken.VALUE_EMBEDDED_OBJECT; } else if (o instanceof Date) { return JsonToken.VALUE_EMBEDDED_OBJECT; } else if (o instanceof byte[]) { return JsonToken.VALUE_EMBEDDED_OBJECT; } else { throw new IllegalStateException("Don't know how to parse type: " + o.getClass()); } }
From source file:com.turn.shapeshifter.AutoSerializerTest.java
@Test public void testSerializeWithEmptyRepeated() throws Exception { Actor actor = Actor.newBuilder().setName("James Dean").build(); JsonNode result = new AutoSerializer(Actor.getDescriptor()).serialize(actor, ReadableSchemaRegistry.EMPTY); Assert.assertTrue(result.isObject()); Assert.assertEquals(JsonToken.VALUE_STRING, result.get("name").asToken()); Assert.assertEquals("James Dean", result.get("name").asText()); Assert.assertNull(result.get("movies")); }
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 www . j a v a 2s. co 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: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 ww w . j a v a2 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;/*from w ww . jav 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:com.google.openrtb.json.OpenRtbJsonUtils.java
/** * Reads from either a JSON Value String (containing CSV) or a JSON Array. * The dual input format is needed because some fields (e.g. keywords) were allowed * to be of either type in OpenRTB 2.2; now in 2.3 they are all CSV strings only. * TODO: Simplify this to only accept CSV strings after 2.2 compatibility is dropped. *//*w w w . ja v a 2 s.c o m*/ public static String readCsvString(JsonParser par) throws IOException { JsonToken currentToken = par.getCurrentToken(); if (currentToken == JsonToken.START_ARRAY) { StringBuilder keywords = new StringBuilder(); for (startArray(par); endArray(par); par.nextToken()) { if (keywords.length() != 0) { keywords.append(','); } keywords.append(par.getText()); } return keywords.toString(); } else if (currentToken == JsonToken.VALUE_STRING) { return par.getText(); } else { throw new JsonParseException(par, "Expected string or array"); } }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
public static void deserialize(InputStream inputStream, CAS cas, String encoding) { Preconditions.checkNotNull(inputStream, "Paramater input stream is null"); Preconditions.checkNotNull(inputStream, "Paramater CAS is null"); try {/* w ww . j a v a 2 s . com*/ JsonFactory factory = new JsonFactory(); parser = factory.createParser(inputStream); SourceDocumentInformation sdi = (SourceDocumentInformation) cas .createAnnotation(cas.getJCas().getCasType(SourceDocumentInformation.type), 0, 0); WordAnnotation wa = (WordAnnotation) cas.createAnnotation(cas.getJCas().getCasType(WordAnnotation.type), 0, 0); TermOccAnnotation toa = (TermOccAnnotation) cas .createAnnotation(cas.getJCas().getCasType(TermOccAnnotation.type), 0, 0); FixedExpression fe = (FixedExpression) cas .createAnnotation(cas.getJCas().getCasType(FixedExpression.type), 0, 0); boolean inSdi = false; boolean inWa = false; boolean inToa = false; boolean inFe = false; boolean inCoveredText = false; while ((token = parser.nextToken()) != null) { if (inSdi) { if (token == JsonToken.END_OBJECT) { inSdi = false; } else { fillSdi(parser, token, sdi); } } else if (inWa) { if (token == JsonToken.END_ARRAY) { inWa = false; } else if (token == JsonToken.END_OBJECT) { wa.addToIndexes(); wa = (WordAnnotation) cas.createAnnotation(cas.getJCas().getCasType(WordAnnotation.type), 0, 0); } fillWordAnnotations(parser, token, wa); } else if (inToa) { if (token == JsonToken.END_ARRAY && Objects.equals(parser.getParsingContext().getCurrentName(), "term_occ_annotations")) { inToa = false; } else if (token == JsonToken.END_OBJECT) { toa.addToIndexes(); toa = (TermOccAnnotation) cas .createAnnotation(cas.getJCas().getCasType(TermOccAnnotation.type), 0, 0); } FillTermOccAnnotations(parser, token, toa, cas); } else if (inFe) { if (token == JsonToken.END_ARRAY && Objects.equals(parser.getParsingContext().getCurrentName(), "fixed_expressions")) { inFe = false; } else if (token == JsonToken.END_OBJECT) { fe.addToIndexes(); fe = (FixedExpression) cas.createAnnotation(cas.getJCas().getCasType(FixedExpression.type), 0, 0); } FillFixedExpressions(parser, token, fe, cas); } else if (inCoveredText) { if (token == JsonToken.VALUE_STRING) { String text = parser.getText(); cas.setDocumentText(text); } } else if ("sdi".equals(parser.getParsingContext().getCurrentName())) { inSdi = true; } else if ("word_annotations".equals(parser.getParsingContext().getCurrentName())) { inWa = true; } else if ("term_occ_annotations".equals(parser.getParsingContext().getCurrentName())) { inToa = true; } else if ("fixed_expressions".equals(parser.getParsingContext().getCurrentName())) { inFe = true; } else if ("covered_text".equals(parser.getParsingContext().getCurrentName())) { inCoveredText = true; } } sdi.addToIndexes(); } catch (IOException | CASException e) { logger.error("An error occurred during TermSuite Json Cas parsing", e); } }