List of usage examples for com.fasterxml.jackson.core JsonParser getText
public abstract String getText() throws IOException, JsonParseException;
From source file:com.cedarsoft.serialization.serializers.jackson.HashSerializer.java
@Nonnull @Override/*from ww w. j a v a 2 s . c o m*/ public Hash deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName1 = parserWrapper.getCurrentName(); if (!PROPERTY_ALGORITHM.equals(currentName1)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_ALGORITHM + "> but was <" + currentName1 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); Algorithm algorithm = Algorithm.getAlgorithm(deserializeFrom.getText()); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_VALUE.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_VALUE + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String hex = deserializeFrom.getText(); parserWrapper.nextToken(JsonToken.END_OBJECT); return Hash.fromHex(algorithm, hex); }
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. ja v a 2 s .c o m 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:net.floodlightcontroller.loadbalancer.MonitorsResource.java
protected LBMonitor jsonToMonitor(String json) throws IOException { MappingJsonFactory f = new MappingJsonFactory(); JsonParser jp; LBMonitor monitor = new LBMonitor(); try {//from www.j av a 2 s. co m jp = f.createJsonParser(json); } catch (JsonParseException e) { throw new IOException(e); } jp.nextToken(); if (jp.getCurrentToken() != JsonToken.START_OBJECT) { throw new IOException("Expected START_OBJECT"); } while (jp.nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentToken() != JsonToken.FIELD_NAME) { throw new IOException("Expected FIELD_NAME"); } String n = jp.getCurrentName(); jp.nextToken(); if (jp.getText().equals("")) continue; else if (n.equals("monitor")) { while (jp.nextToken() != JsonToken.END_OBJECT) { String field = jp.getCurrentName(); if (field.equals("id")) { monitor.id = jp.getText(); continue; } if (field.equals("name")) { monitor.name = jp.getText(); continue; } if (field.equals("type")) { monitor.type = Short.parseShort(jp.getText()); continue; } if (field.equals("delay")) { monitor.delay = Short.parseShort(jp.getText()); continue; } if (field.equals("timeout")) { monitor.timeout = Short.parseShort(jp.getText()); continue; } if (field.equals("attempts_before_deactivation")) { monitor.attemptsBeforeDeactivation = Short.parseShort(jp.getText()); continue; } if (field.equals("network_id")) { monitor.netId = jp.getText(); continue; } if (field.equals("address")) { monitor.address = Integer.parseInt(jp.getText()); continue; } if (field.equals("protocol")) { monitor.protocol = Byte.parseByte(jp.getText()); continue; } if (field.equals("port")) { monitor.port = Short.parseShort(jp.getText()); continue; } if (field.equals("admin_state")) { monitor.adminState = Short.parseShort(jp.getText()); continue; } if (field.equals("status")) { monitor.status = Short.parseShort(jp.getText()); continue; } log.warn("Unrecognized field {} in " + "parsing Vips", jp.getText()); } } } jp.close(); return monitor; }
From source file:com.cedarsoft.serialization.jackson.AbstractDelegatingJacksonSerializer.java
@Nonnull @Override/*from ww w . ja v a 2 s. c o m*/ public T deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws IOException, VersionException, JsonProcessingException { assert isVersionReadable(formatVersion); JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_SUB_TYPE.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_SUB_TYPE + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String type = deserializeFrom.getText(); if (type == null) { throw new JsonParseException("Attribute" + PROPERTY_SUB_TYPE + " not found. Cannot find strategy.", deserializeFrom.getCurrentLocation()); } SerializingStrategy<? extends T, JsonGenerator, JsonParser, JsonProcessingException, OutputStream, InputStream> strategy = serializingStrategySupport .findStrategy(type); Version resolvedVersion = serializingStrategySupport.resolveVersion(strategy, formatVersion); return strategy.deserialize(deserializeFrom, resolvedVersion); }
From source file:com.cedarsoft.serialization.jackson.test.UserSerializer.java
@Nonnull @Override/*from w w w. j a v a 2 s . co 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.cedarsoft.serialization.serializers.jackson.VersionRangeSerializer.java
@Nonnull @Override//from w ww .j a va2s .c om public VersionRange deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { //min JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName3 = parserWrapper.getCurrentName(); if (!PROPERTY_MIN.equals(currentName3)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_MIN + "> but was <" + currentName3 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); Version min = Version.parse(deserializeFrom.getText()); //max parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName2 = parserWrapper.getCurrentName(); if (!PROPERTY_MAX.equals(currentName2)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_MAX + "> but was <" + currentName2 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); Version max = Version.parse(deserializeFrom.getText()); //includeLower parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName1 = parserWrapper.getCurrentName(); if (!PROPERTY_INCLUDELOWER.equals(currentName1)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_INCLUDELOWER + "> but was <" + currentName1 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); boolean includeLower = deserializeFrom.getBooleanValue(); //includeUpper parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_INCLUDEUPPER.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_INCLUDEUPPER + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); boolean includeUpper = deserializeFrom.getBooleanValue(); //Finally closing element parserWrapper.nextToken(JsonToken.END_OBJECT); //Constructing the deserialized object return new VersionRange(min, max, includeLower, includeUpper); }
From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java
@Test public void testEncode() throws Exception { byte[] bytes = readBytes(); JsonFactory json = new JsonFactory(); JsonParser parser = json.createParser(bytes); String version = null;//from w w w.jav a2 s . c o m Number timestamp = null; String host = null; String short_message = null; String full_message = null; Number level = null; Number _foo = null; Number _bar = null; String _baz = null; while (parser.nextToken() != JsonToken.END_OBJECT) { String key = parser.getCurrentName(); if (key == null) { continue; } parser.nextToken(); switch (key) { case "version": version = parser.getText(); break; case "timestamp": timestamp = parser.getNumberValue(); break; case "host": host = parser.getText(); break; case "short_message": short_message = parser.getText(); break; case "full_message": full_message = parser.getText(); break; case "level": level = parser.getNumberValue(); break; case "_foo": _foo = parser.getNumberValue(); break; case "_bar": _bar = parser.getNumberValue(); break; case "_baz": _baz = parser.getText(); break; default: throw new Exception("Found unexpected field in JSON payload: " + key); } } assertEquals(message.getVersion().toString(), version); assertEquals(message.getTimestamp(), timestamp); assertEquals(message.getHost(), host); assertEquals(message.getMessage(), short_message); assertEquals(message.getFullMessage(), full_message); assertEquals(message.getLevel().getNumericLevel(), level); assertEquals(1.0, _foo); assertEquals(128, _bar); assertEquals("a value", _baz); }
From source file:com.netflix.aegisthus.tools.AegisthusSerializer.java
public Map<String, Object> deserialize(String data) throws IOException { try {//from w w w . j a v a 2 s .c o m Map<String, Object> map = new LinkedHashMap<String, Object>(); JsonParser jp = jsonFactory.createJsonParser(data); jp.nextToken(); // Object jp.nextToken(); // key map.put(KEY, new DataByteArray(jp.getCurrentName().getBytes())); jp.nextToken(); // object while (jp.nextToken() != JsonToken.END_OBJECT) { String field = jp.getCurrentName(); if (DELETEDAT.equals(field.toUpperCase())) { jp.nextToken(); map.put(DELETEDAT, jp.getLongValue()); } else { jp.nextToken(); while (jp.nextToken() != JsonToken.END_ARRAY) { List<Object> cols = new ArrayList<Object>(); jp.nextToken(); String name = jp.getText(); cols.add(name); jp.nextToken(); cols.add(new DataByteArray(jp.getText().getBytes())); jp.nextToken(); cols.add(jp.getLongValue()); if (jp.nextToken() != JsonToken.END_ARRAY) { String status = jp.getText(); cols.add(status); if ("e".equals(status)) { jp.nextToken(); cols.add(jp.getLongValue()); jp.nextToken(); cols.add(jp.getLongValue()); } else if ("c".equals(status)) { jp.nextToken(); cols.add(jp.getLongValue()); } jp.nextToken(); } map.put(name, cols); } } } return map; } catch (IOException e) { LOG.error(data); throw e; } }
From source file:org.apache.manifoldcf.agents.output.amazoncloudsearch.AmazonCloudSearchConnector.java
private String parseMessage(JsonParser parser) throws JsonParseException, IOException { while (parser.nextToken() != JsonToken.END_ARRAY) { String name = parser.getCurrentName(); if ("message".equalsIgnoreCase(name)) { parser.nextToken();//from www.j a v a 2 s . c om return parser.getText(); } } return null; }
From source file:com.amazonaws.services.sns.util.SignatureChecker.java
private Map<String, String> parseJSON(String jsonmessage) { Map<String, String> parsed = new HashMap<String, String>(); JsonFactory jf = new JsonFactory(); try {/*from ww w .j a va 2 s . co m*/ JsonParser parser = jf.createJsonParser(jsonmessage); parser.nextToken(); //shift past the START_OBJECT that begins the JSON while (parser.nextToken() != JsonToken.END_OBJECT) { String fieldname = parser.getCurrentName(); parser.nextToken(); // move to value, or START_OBJECT/START_ARRAY String value; if (parser.getCurrentToken() == JsonToken.START_ARRAY) { value = ""; boolean first = true; while (parser.nextToken() != JsonToken.END_ARRAY) { if (!first) value += ","; first = false; value += parser.getText(); } } else { value = parser.getText(); } parsed.put(fieldname, value); } } catch (JsonParseException e) { // JSON could not be parsed e.printStackTrace(); } catch (IOException e) { // Rare exception } return parsed; }