Example usage for com.fasterxml.jackson.core JsonFactory createJsonParser

List of usage examples for com.fasterxml.jackson.core JsonFactory createJsonParser

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonFactory createJsonParser.

Prototype

@Deprecated
public JsonParser createJsonParser(String content) throws IOException, JsonParseException 

Source Link

Document

Method for constructing parser for parsing contents of given String.

Usage

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;
}