Example usage for com.fasterxml.jackson.core JsonParser nextToken

List of usage examples for com.fasterxml.jackson.core JsonParser nextToken

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser nextToken.

Prototype

public abstract JsonToken nextToken() throws IOException, JsonParseException;

Source Link

Document

Main iteration method, which will advance stream enough to determine type of the next token, if any.

Usage

From source file:com.google.openrtb.json.OpenRtbJsonExtComplexReader.java

@SuppressWarnings("unchecked")
private void readRepeated(EB msg, JsonParser par) throws IOException {
    par.nextToken();
    JsonToken tokLast = par.getCurrentToken();
    JsonLocation locLast = par.getCurrentLocation();
    for (startArray(par); endArray(par); par.nextToken()) {
        boolean objRead = false;
        XB ext = (XB) key.getMessageDefaultInstance().toBuilder();
        for (startObject(par); endObject(par); par.nextToken()) {
            read(ext, par);/*from  w  ww  .ja  va2  s.  c  o m*/
            JsonToken tokNew = par.getCurrentToken();
            JsonLocation locNew = par.getCurrentLocation();
            if (tokNew != tokLast || !locNew.equals(locLast)) {
                objRead = true;
            }
            tokLast = tokNew;
            locLast = locNew;
        }
        if (objRead) {
            msg.addExtension(key, ext.build());
        }
    }
}

From source file:com.netflix.discovery.converters.jackson.serializer.PortWrapperXmlDeserializer.java

@Override
public InstanceInfo.PortWrapper deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    boolean enabled = false;
    int port = 0;
    while (jp.nextToken() == JsonToken.FIELD_NAME) {
        String fieldName = jp.getCurrentName();
        jp.nextToken(); // to point to value
        if ("enabled".equals(fieldName)) {
            enabled = Boolean.valueOf(jp.getValueAsString());
        } else if (fieldName == null || "".equals(fieldName)) {
            String value = jp.getValueAsString();
            port = value == null ? 0 : Integer.parseInt(value);
        } else {/*from  w  w w .ja  v a 2  s  .  co  m*/
            throw new JsonMappingException("Unexpected field " + fieldName, jp.getCurrentLocation());
        }
    }
    return new InstanceInfo.PortWrapper(enabled, port);
}

From source file:com.mozilla.bagheera.consumer.validation.JsonValidator.java

@Override
public boolean isValid(byte[] data) {
    boolean isValid = false;
    JsonParser parser = null;
    try {//ww w. j a va2s .  com
        parser = jsonFactory.createJsonParser(data);
        while (parser.nextToken() != null) {
            // noop
        }
        isValid = true;
    } catch (JsonParseException ex) {
        LOG.error("JSON parse error");
    } catch (IOException e) {
        LOG.error("JSON IO error");
    } catch (Exception e) {
        LOG.error("Generic error during validation: ", e);
    } finally {
        if (parser != null) {
            try {
                parser.close();
            } catch (IOException e) {
                LOG.error("Error closing JSON parser", e);
            }
        }
    }

    return isValid;
}

From source file:com.opentable.jaxrs.StreamedJsonResponseConverter.java

private <T> void doRead(Callback<T> callback, TypeReference<T> type, final JsonParser jp) throws IOException {
    expect(jp, jp.nextToken(), JsonToken.START_OBJECT);
    expect(jp, jp.nextToken(), JsonToken.FIELD_NAME);
    if (!"results".equals(jp.getCurrentName())) {
        throw new JsonParseException("expecting results field", jp.getCurrentLocation());
    }/*from  w  w  w .  j  a  v  a2s.c o m*/
    expect(jp, jp.nextToken(), JsonToken.START_ARRAY);
    // As noted in a well-hidden comment in the MappingIterator constructor,
    // readValuesAs requires the parser to be positioned after the START_ARRAY
    // token with an empty current token
    jp.clearCurrentToken();

    Iterator<T> iter = jp.readValuesAs(type);

    while (iter.hasNext()) {
        try {
            callback.call(iter.next());
        } catch (CallbackRefusedException e) {
            LOG.debug("callback refused execution, finishing.", e);
            return;
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw new IOException("Callback interrupted", e);
        } catch (Exception e) {
            Throwables.propagateIfPossible(e, IOException.class);
            throw new IOException("Callback failure", e);
        }
    }
    if (jp.nextValue() != JsonToken.VALUE_TRUE || !jp.getCurrentName().equals("success")) {
        throw new IOException("Streamed receive did not terminate normally; inspect server logs for cause.");
    }
}

From source file:GetAppConfig.java

private void getConf() {
    String line;/*from ww  w  .ja v a2 s. c  o  m*/
    String json = "";
    try {
        BufferedReader reader = new BufferedReader(
                new InputStreamReader(new FileInputStream(this.jsonfile), "UTF-8"));
        while ((line = reader.readLine()) != null) {
            json += line;
        }
        reader.close();
    } catch (Exception e) {
        System.out.println("Error: readconf(): " + e.getMessage());
        return;
    }

    JsonFactory factory = new JsonFactory();
    try {
        JsonParser parser = factory.createParser(json);
        while (parser.nextToken() != JsonToken.END_OBJECT) {
            String name = parser.getCurrentName();
            if (name == null)
                continue;
            parser.nextToken();
            if (name.equals("userid")) {
                this.setUserID(parser.getText());
            } else if (name.equals("passwd")) {
                this.setPassword(parser.getText());
            } else if (name.equals("deviceid")) {
                this.setDeviceID(parser.getText());
            } else if (name.equals("pkgdir")) {
                this.setPackageDir(parser.getText());
            } else {
                parser.skipChildren();
            }
        } // while
    } catch (Exception e) {
        System.out.println("Error: parseconf(): " + e.getMessage());
    }
}

From source file:KV78Tester.java

public String[] parseLines(BufferedReader in) throws Exception {
    JsonFactory f = new JsonFactory();
    JsonParser jp = f.createJsonParser(in);
    ArrayList<String> lines = new ArrayList<String>();
    jp.nextToken();
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String line = jp.getCurrentName();
        lines.add(line);//w w w .j a  v a2  s  .  c  om
        jp.nextToken();
    }
    jp.close();
    in.close();
    return lines.toArray(new String[lines.size()]);
}

From source file:ch.rasc.wampspring.message.WelcomeMessage.java

public WelcomeMessage(JsonParser jp) throws IOException {
    super(WampMessageType.WELCOME);

    if (jp.nextToken() != JsonToken.VALUE_STRING) {
        throw new IOException();
    }/*  w w w  .  j a  v a 2s  .  com*/
    this.sessionId = jp.getValueAsString();

    if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) {
        throw new IOException();
    }
    this.protocolVersion = jp.getValueAsInt();

    if (jp.nextToken() != JsonToken.VALUE_STRING) {
        throw new IOException();
    }
    this.serverIdent = jp.getValueAsString();

}

From source file:com.microsoft.rest.serializer.FlatteningDeserializer.java

@SuppressWarnings("unchecked")
@Override/*  ww w  .j  av  a 2 s  .c o m*/
public Object deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonNode root = mapper.readTree(jp);
    final Class<?> tClass = this.defaultDeserializer.handledType();
    for (Field field : tClass.getDeclaredFields()) {
        JsonNode node = root;
        JsonProperty property = field.getAnnotation(JsonProperty.class);
        if (property != null) {
            String value = property.value();
            if (value.matches(".+[^\\\\]\\..+")) {
                String[] values = value.split("((?<!\\\\))\\.");
                for (String val : values) {
                    val = val.replace("\\.", ".");
                    node = node.get(val);
                    if (node == null) {
                        break;
                    }
                }
                ((ObjectNode) root).put(value, node);
            }
        }
    }
    JsonParser parser = new JsonFactory().createParser(root.toString());
    parser.nextToken();
    return defaultDeserializer.deserialize(parser, ctxt);
}

From source file:com.taveloper.http.test.pojo.parse.ActivityParse.java

public Activity readJson(JsonParser in) throws JsonParseException, IOException {
    //        System.out.println("ActivityParse.readJson");
    JsonToken curToken = in.nextToken();
    Activity object = new Activity();
    while (curToken == JsonToken.FIELD_NAME) {
        String curName = in.getText();
        JsonToken nextToken = in.nextToken();
        if ("url".equals(curName)) {
            object.setUrl(in.getText());
        } else if ("object".equals(curName)) {
            ActivityObjectParse activityObjectParse = new ActivityObjectParse();
            object.setActivityObject(activityObjectParse.readJson(in));
        }/*from  w ww  . j a  va 2  s .  co m*/
        curToken = in.nextToken();
    }
    return object;
}

From source file:com.taveloper.http.test.pojo.parse.PlusOnersParse.java

public PlusOners readJson(JsonParser in) throws JsonParseException, IOException {
    //        System.out.println("ActivityObjectParse.readJson");
    JsonToken curToken = in.nextToken();
    PlusOners object = new PlusOners();
    while (curToken == JsonToken.FIELD_NAME) {
        String curName = in.getText();
        JsonToken nextToken = in.nextToken();
        if ("totalItems".equals(curName)) {
            object.setTotalItems(in.getLongValue());
        }/*from w w  w  .ja v  a 2s  .co  m*/
        curToken = in.nextToken();
    }
    return object;
}