List of usage examples for com.fasterxml.jackson.core JsonFactory createJsonParser
@Deprecated public JsonParser createJsonParser(String content) throws IOException, JsonParseException
From source file:de.dsi8.dsi8acl.connection.impl.MessageListenerThread.java
/** * Converts the data from {@link InputStream} of {@link Socket} from * JSON format into a concrete {@link Message}. *//* w ww . ja va 2s.c o m*/ @Override public void run() { try { InputStream inputStream = initiator.getSocket().getInputStream(); ObjectMapper objectMapper = initiator.getJsonObjectMapper(); JsonFactory factory = objectMapper.getJsonFactory(); JsonParser jsonParser = factory.createJsonParser(inputStream); Iterator<Message> iterator = jsonParser.readValuesAs(Message.class); while (!isInterrupted() && iterator.hasNext()) { Message msg = iterator.next(); messageRecived(msg); } if (!isInterrupted()) { // The stream was closed but the thread wasn't stopped. That's bad. throw new IOException("Unexpected close of InputStream."); } } catch (Exception e) { connectionProblem(e); } }
From source file:com.pursuer.reader.easyrss.data.parser.SubscriptionJSONParser.java
public void parse() throws JsonParseException, IOException, IllegalStateException { final JsonFactory factory = new JsonFactory(); final JsonParser parser = factory.createJsonParser(input); Subscription sub = new Subscription(); int level = 0; boolean found = false; while (parser.nextToken() != null) { final String name = parser.getCurrentName(); switch (parser.getCurrentToken()) { case START_OBJECT: case START_ARRAY: level++;//from w w w. ja v a 2s . co m break; case END_OBJECT: case END_ARRAY: level--; break; case VALUE_STRING: if (level == 3) { if ("id".equals(name)) { sub.setUid(parser.getText()); } else if ("htmlUrl".equals(name)) { sub.setUrl(parser.getText()); } else if ("title".equals(name)) { sub.setTitle(Html.fromHtml(parser.getText()).toString()); } else if ("sortid".equals(name)) { sub.setSortId(parser.getText()); } else if ("firstitemmsec".equals(name)) { sub.setFirstItemMsec(Long.valueOf(parser.getText())); } } else if (level == 5 && "id".equals(name)) { sub.addTag(parser.getText()); } break; case FIELD_NAME: if (level == 1 && "subscriptions".equals(name)) { found = true; } break; default: } if (level == 2) { if (sub.getUid() != null && listener != null) { listener.onSubscriptionRetrieved(sub); } sub = new Subscription(); } } parser.close(); if (!found) { throw new IllegalStateException("Invalid JSON input"); } }
From source file:com.cedarsoft.couchdb.io.ActionFailedExceptionSerializer.java
@Nonnull public ActionFailedException deserialize(int status, @Nonnull InputStream in) throws VersionException, IOException { try (MaxLengthByteArrayOutputStream teedOut = new MaxLengthByteArrayOutputStream(); TeeInputStream teeInputStream = new TeeInputStream(in, teedOut)) { JsonFactory jsonFactory = JacksonSupport.getJsonFactory(); JsonParser parser = jsonFactory.createJsonParser(teeInputStream); JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser); parserWrapper.nextToken(JsonToken.START_OBJECT); String error = null;/*from w w w . j av a 2s .c o m*/ String reason = null; while (parser.nextToken() == JsonToken.FIELD_NAME) { String currentName = parser.getCurrentName(); if (currentName.equals(PROPERTY_ERROR)) { parserWrapper.nextToken(JsonToken.VALUE_STRING); error = parser.getText(); continue; } if (currentName.equals(PROPERTY_REASON)) { parserWrapper.nextToken(JsonToken.VALUE_STRING); reason = parser.getText(); continue; } throw new IllegalStateException("Unexpected field reached <" + currentName + ">"); } parserWrapper.verifyDeserialized(error, PROPERTY_ERROR); parserWrapper.verifyDeserialized(reason, PROPERTY_REASON); assert reason != null; assert error != null; parserWrapper.ensureObjectClosed(); return new ActionFailedException(status, error, reason, teedOut.toByteArray()); } }
From source file:com.joliciel.jochre.search.webClient.SearchResults.java
public SearchResults(String json) { try {//from w w w. j a va2 s .c om scoreDocs = new ArrayList<SearchDocument>(); Reader reader = new StringReader(json); JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory JsonParser jsonParser = jsonFactory.createJsonParser(reader); // Sanity check: verify that we got "Json Object": if (jsonParser.nextToken() != JsonToken.START_OBJECT) throw new RuntimeException("Expected START_OBJECT, but was " + jsonParser.getCurrentToken() + " at " + jsonParser.getCurrentLocation()); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { String baseName = jsonParser.getCurrentName(); LOG.debug("Found baseName: " + baseName); if (jsonParser.nextToken() != JsonToken.START_OBJECT) throw new RuntimeException("Expected START_OBJECT, but was " + jsonParser.getCurrentToken() + " at " + jsonParser.getCurrentLocation()); SearchDocument doc = new SearchDocument(baseName, jsonParser); scoreDocs.add(doc); } // next scoreDoc } catch (JsonParseException e) { LOG.error(e); throw new RuntimeException(e); } catch (IOException e) { LOG.error(e); throw new RuntimeException(e); } }
From source file:com.cedarsoft.couchdb.io.ViewResponseSerializer.java
public <K, V, D> ViewResponse<K, V, D> deserialize(@Nonnull JacksonSerializer<? super K> keySerializer, @Nonnull JacksonSerializer<? super V> valueSerializer, @Nullable JacksonSerializer<? extends D> documentSerializer, @Nonnull InputStream in) throws IOException, InvalidTypeException { JsonFactory jsonFactory = JacksonSupport.getJsonFactory(); JsonParser parser = jsonFactory.createJsonParser(in); JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser); parserWrapper.nextToken(JsonToken.START_OBJECT); parserWrapper.nextToken(JsonToken.FIELD_NAME); //If reduced, no total rows and no offset are availlable! String fieldName = parser.getText(); int totalRows = -1; int offset = -1; while (!fieldName.equals(PROPERTY_ROWS)) { if (fieldName.equals(PROPERTY_TOTAL_ROWS)) { parserWrapper.nextToken(JsonToken.VALUE_NUMBER_INT); totalRows = parser.getIntValue(); }//from w w w .j ava 2 s .com if (fieldName.equals(PROPERTY_OFFSET)) { parserWrapper.nextToken(JsonToken.VALUE_NUMBER_INT); offset = parser.getIntValue(); } parserWrapper.nextToken(JsonToken.FIELD_NAME); fieldName = parser.getText(); } //Now the rows... parserWrapper.nextToken(JsonToken.START_ARRAY); List<Row<K, V, D>> deserialized = new ArrayList<>(); while (parser.nextToken() != JsonToken.END_ARRAY) { Row<K, V, D> deserializedRow = rowSerializer.deserialize(keySerializer, valueSerializer, documentSerializer, parser); deserialized.add(deserializedRow); } return new ViewResponse<>(totalRows, offset, deserialized); }
From source file:to.sven.androidrccar.arduino.test.AccessoryTestSuiteRunner.java
/** * Creates a new {@link AccessoryTestSuiteRunner} * @param testSuite A Stream where the {@link TestSuite} can be read from. * @throws Exception Could not read the {@link TestSuite} *//*from ww w.ja v a 2 s . c o m*/ public AccessoryTestSuiteRunner(InputStream testSuite) throws Exception { ObjectMapper jsonMapper = new ObjectMapper(); JsonFactory factory = jsonMapper.getJsonFactory(); JsonParser jsonParser; jsonParser = factory.createJsonParser(testSuite); this.testSuite = jsonParser.readValueAs(TestSuite.class); }
From source file:com.cedarsoft.couchdb.io.ActionResponseSerializer.java
@Nonnull public UniqueId deserialize(@Nonnull InputStream in) throws VersionException, IOException { JsonFactory jsonFactory = JacksonSupport.getJsonFactory(); JsonParser parser = jsonFactory.createJsonParser(in); JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser); parserWrapper.nextToken(JsonToken.START_OBJECT); UniqueId deserialized = deserialize(parser); parserWrapper.ensureObjectClosed();//from w w w .j a v a2s.c om return deserialized; }
From source file:org.duracloud.snapshot.rest.GeneralResourceTest.java
@Test public void testVersion() throws JsonParseException, IOException { replayAll();/*from w w w . jav a2s . c o m*/ Response response = resource.version(); String message = (String) response.getEntity(); ObjectMapper mapper = new ObjectMapper(); JsonFactory factory = mapper.getFactory(); JsonParser jp = factory.createJsonParser(message); JsonNode obj = mapper.readTree(jp); Assert.assertNotNull(obj); Assert.assertNotNull(obj.get("version")); }
From source file:com.cedarsoft.couchdb.io.RowSerializer.java
@Nonnull public <K, V, D> Row<K, V, D> deserialize(@Nonnull JacksonSerializer<? super K> keySerializer, @Nonnull JacksonSerializer<? super V> valueSerializer, @Nullable JacksonSerializer<? extends D> documentSerializer, @Nonnull InputStream in) throws IOException, InvalidTypeException { JsonFactory jsonFactory = JacksonSupport.getJsonFactory(); JsonParser parser = jsonFactory.createJsonParser(in); JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser); parserWrapper.nextToken(JsonToken.START_OBJECT); return deserialize(keySerializer, valueSerializer, documentSerializer, parser); }
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 w ww . j a v a2 s . c om*/ 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; }