List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:org.forgerock.openig.util.Json.java
private static <T> T parse(ObjectMapper mapper, Reader reader) throws IOException { if (reader == null) { return null; }//from w w w .ja v a 2 s .c o m final JsonParser jp = mapper.getFactory().createParser(reader); final JsonToken jToken = jp.nextToken(); if (jToken != null) { switch (jToken) { case START_ARRAY: return mapper.readValue(jp, new TypeReference<LinkedList<?>>() { }); case START_OBJECT: return mapper.readValue(jp, new TypeReference<LinkedHashMap<String, ?>>() { }); case VALUE_FALSE: case VALUE_TRUE: return mapper.readValue(jp, new TypeReference<Boolean>() { }); case VALUE_NUMBER_INT: return mapper.readValue(jp, new TypeReference<Integer>() { }); case VALUE_NUMBER_FLOAT: return mapper.readValue(jp, new TypeReference<Float>() { }); case VALUE_NULL: return null; default: // This is very unlikely to happen. throw new IOException("Invalid JSON content"); } } return null; }
From source file:com.microsoft.azure.storage.queue.CloudQueueEncryptedMessage.java
public static CloudQueueEncryptedMessage deserialize(String inputMessage) throws JsonProcessingException, IOException { JsonParser parser = Utility.getJsonParser(inputMessage); CloudQueueEncryptedMessage message = new CloudQueueEncryptedMessage(); try {/*from ww w. j a v a 2 s .co m*/ if (!parser.hasCurrentToken()) { parser.nextToken(); } JsonUtilities.assertIsStartObjectJsonToken(parser); parser.nextToken(); while (parser.getCurrentToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken(); if (name.equals("EncryptedMessageContents")) { message.setEncryptedMessageContents(parser.getValueAsString()); } else if (name.equals("EncryptionData")) { message.setEncryptionData(EncryptionData.deserialize(parser)); } parser.nextToken(); } JsonUtilities.assertIsEndObjectJsonToken(parser); } finally { parser.close(); } return message; }
From source file:org.n52.movingcode.runtime.processors.config.ProcessorConfig.java
/** * Properties reader/*from w ww .jav a 2 s .co m*/ * * @return */ private static final HashMap<String, ProcessorDescription> readProperties() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream is = classLoader.getResourceAsStream(configFile); HashMap<String, ProcessorDescription> processorMap = new HashMap<String, ProcessorDescription>(); JsonFactory f = new JsonFactory(); JsonParser jp; try { jp = f.createParser(is); jp.nextToken(); // will return JsonToken.START_OBJECT while (jp.nextToken() != END_OBJECT) { String field = jp.getCurrentName(); if (field.equalsIgnoreCase(KEY_PROCESSORS)) { // get next token, make sure it is the beginning of an array if (jp.nextToken() != START_ARRAY) { break; } while (jp.nextToken() != END_ARRAY) { // do the parsing if (jp.getCurrentToken() == START_OBJECT) { ProcessorDescription p = parseProcessorJSON(jp); // only add those processor that have a valid ID if (p.getId() != null) { processorMap.put(p.getId(), p); } } } } else { if (field.equalsIgnoreCase(KEY_DEFAULTS)) { // parse defaults ProcessorDescription p = parseProcessorJSON(jp); p.setId(DEFAULT_PROCESSOR_CONFIG_ID); processorMap.put(p.getId(), p); } } } } catch (JsonParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return processorMap; }
From source file:com.microsoft.azure.storage.core.EncryptionData.java
public static EncryptionData deserialize(String inputData) throws JsonProcessingException, IOException { JsonParser parser = Utility.getJsonParser(inputData); try {/*from ww w. j a v a 2 s.c o m*/ if (!parser.hasCurrentToken()) { parser.nextToken(); } return EncryptionData.deserialize(parser); } finally { parser.close(); } }
From source file:com.google.openrtb.json.OpenRtbJsonUtils.java
/** * Skips a field name if necessary, returning the current token then. *//*from ww w . j av 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:com.google.openrtb.json.OpenRtbJsonUtils.java
/** * Starts an Object, skipping the '{' token, and if necessary a field name before it. *//*from ww w . j a v a 2 s . c o m*/ public static void startObject(JsonParser par) throws IOException { JsonToken token = par.getCurrentToken(); if (token == null || token == JsonToken.FIELD_NAME) { token = par.nextToken(); } if (token == JsonToken.START_OBJECT) { par.nextToken(); } else { throw new JsonParseException(par, "Expected start of object"); } }
From source file:com.google.openrtb.json.OpenRtbJsonUtils.java
/** * Starts an Array, skipping the '[' token, and if necessary a field name before it. *//*from w ww . j a v a 2s .c om*/ public static void startArray(JsonParser par) throws IOException { JsonToken token = par.getCurrentToken(); if (token == null || token == JsonToken.FIELD_NAME) { token = par.nextToken(); } if (token == JsonToken.START_ARRAY) { par.nextToken(); } else { throw new JsonParseException(par, "Expected start of array"); } }
From source file:com.ntsync.shared.ContactGroup.java
/** * Creates and returns an instance of the RawContact from encrypted data * /* w w w.j a v a 2s . c om*/ * */ public static ContactGroup valueOf(String rowId, Map<Byte, ByteBuffer> values, Key privateKey) throws InvalidKeyException { try { String sourceId = null; Long rawId = null; if (values.containsKey(GroupConstants.SERVERROW_ID)) { sourceId = readRawString(values.get(GroupConstants.SERVERROW_ID)); } if (sourceId == null || !sourceId.equals(rowId)) { // If ServerContactId is different, then rowId is the clientId rawId = Long.parseLong(rowId); } if (sourceId == null && rawId < 0) { throw new IllegalArgumentException("Missing RowId in data"); } AEADBlockCipher cipher = CryptoHelper.getCipher(); final boolean deleted = values.containsKey(GroupConstants.DELETED); final String textData = CryptoHelper.decodeStringValue(GroupConstants.TEXTDATA, values, cipher, privateKey); if (textData == null && !deleted) { LOG.error("No textdata found for row with Id:" + rowId); return null; } String title = null; String notes = null; if (!isEmpty(textData)) { JsonFactory fac = new JsonFactory(); JsonParser jp = fac.createParser(textData); jp.nextToken(); while (jp.nextToken() != JsonToken.END_OBJECT) { String fieldname = jp.getCurrentName(); // move to value, or START_OBJECT/START_ARRAY jp.nextToken(); if (GroupConstants.TITLE.equals(fieldname)) { title = jp.getValueAsString(); } else if (GroupConstants.NOTES.equals(fieldname)) { notes = jp.getValueAsString(); } else { LOG.error("Unrecognized field for row with Id:" + rowId + " Fieldname:" + fieldname); } } jp.close(); } String modStr = readRawString(values.get(GroupConstants.MODIFIED)); Date lastModified = null; if (!isEmpty(modStr)) { lastModified = new Date(Long.parseLong(modStr)); } return new ContactGroup(rawId, sourceId, title, notes, deleted, lastModified, -1); } catch (InvalidCipherTextException ex) { throw new InvalidKeyException("Invalid key detected.", ex); } catch (final Exception ex) { LOG.info("Error parsing contactgroup data. Reason:" + ex.toString(), ex); } return null; }
From source file:com.microsoft.azure.storage.core.EncryptionData.java
public static EncryptionData deserialize(JsonParser parser) throws JsonParseException, IOException { JsonUtilities.assertIsStartObjectJsonToken(parser); parser.nextToken(); EncryptionData data = new EncryptionData(); while (parser.getCurrentToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken();//from ww w. ja va 2s .co m if (name.equals(Constants.EncryptionConstants.WRAPPED_CONTENT_KEY)) { data.setWrappedContentKey(WrappedContentKey.deserialize(parser)); } else if (name.equals(Constants.EncryptionConstants.ENCRYPTION_AGENT)) { data.setEncryptionAgent(EncryptionAgent.deserialize(parser)); } else if (name.equals(Constants.EncryptionConstants.CONTENT_ENCRYPTION_IV)) { data.setContentEncryptionIV(parser.getBinaryValue()); } else if (name.equals(Constants.EncryptionConstants.KEY_WRAPPING_METADATA)) { data.setKeyWrappingMetadata(deserializeKeyWrappingMetadata(parser)); } else { consumeJsonObject(parser); } parser.nextToken(); } JsonUtilities.assertIsEndObjectJsonToken(parser); return data; }
From source file:com.microsoft.azure.storage.core.EncryptionData.java
public static HashMap<String, String> deserializeKeyWrappingMetadata(JsonParser parser) throws JsonParseException, IOException { JsonUtilities.assertIsStartObjectJsonToken(parser); parser.nextToken(); HashMap<String, String> keyWrappingMetadata = new HashMap<String, String>(); while (parser.getCurrentToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); parser.nextToken();/*w ww. j av a2 s .c om*/ keyWrappingMetadata.put(name, parser.getValueAsString()); parser.nextToken(); } JsonUtilities.assertIsEndObjectJsonToken(parser); return keyWrappingMetadata; }