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:io.pdef.json.JsonJacksonFormat.java

private Map<String, Object> readMap(final JsonParser parser) throws IOException {
    JsonToken current = parser.getCurrentToken();
    if (current != JsonToken.START_OBJECT) {
        throw new JsonFormatException("Bad JSON string, failed to read an object");
    }// ww w  .  j a v  a 2  s.  c o  m

    Map<String, Object> map = new LinkedHashMap<String, Object>();
    while (true) {
        JsonToken next = parser.nextToken();
        if (next == null) {
            throw new JsonFormatException("End of file");
        } else if (next == JsonToken.END_OBJECT) {
            break;
        } else if (next != JsonToken.FIELD_NAME) {
            throw new JsonFormatException("Failed to read a field name from " + next);
        }

        String field = parser.getCurrentName();
        parser.nextToken();
        Object value = read(parser);
        map.put(field, value);
    }

    return map;
}

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

public final NativeResponse.Asset.Builder readRespAsset(JsonParser par) throws IOException {
    NativeResponse.Asset.Builder asset = NativeResponse.Asset.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readRespAssetField(par, asset, fieldName);
        }//from  ww w  .j a va 2  s  . co  m
    }
    return asset;
}

From source file:com.adobe.communities.ugc.migration.importer.GenericUGCImporter.java

/**
 * Handle each of the importable types of ugc content
 * @param jsonParser - the parsing stream
 * @param resource - the parent resource of whatever it is we're importing (must already exist)
 * @throws ServletException// www  .  j  a  v  a  2s .c  om
 * @throws IOException
 */
protected void importFile(final JsonParser jsonParser, final Resource resource, final ResourceResolver resolver)
        throws ServletException, IOException {
    final UGCImportHelper importHelper = new UGCImportHelper();
    JsonToken token1 = jsonParser.getCurrentToken();
    importHelper.setSocialUtils(socialUtils);
    if (token1.equals(JsonToken.START_OBJECT)) {
        jsonParser.nextToken();
        if (jsonParser.getCurrentName().equals(ContentTypeDefinitions.LABEL_CONTENT_TYPE)) {
            jsonParser.nextToken();
            final String contentType = jsonParser.getValueAsString();
            if (contentType.equals(ContentTypeDefinitions.LABEL_QNA_FORUM)) {
                importHelper.setQnaForumOperations(qnaForumOperations);
            } else if (contentType.equals(ContentTypeDefinitions.LABEL_FORUM)) {
                importHelper.setForumOperations(forumOperations);
            } else if (contentType.equals(ContentTypeDefinitions.LABEL_CALENDAR)) {
                importHelper.setCalendarOperations(calendarOperations);
            } else if (contentType.equals(ContentTypeDefinitions.LABEL_JOURNAL)) {
                importHelper.setJournalOperations(journalOperations);
            } else if (contentType.equals(ContentTypeDefinitions.LABEL_FILELIBRARY)) {
                importHelper.setFileLibraryOperations(fileLibraryOperations);
            }
            importHelper.setTallyService(tallyOperationsService); // (everything potentially needs tally)
            importHelper.setCommentOperations(commentOperations); // nearly anything can have comments on it
            jsonParser.nextToken(); // content
            if (jsonParser.getCurrentName().equals(ContentTypeDefinitions.LABEL_CONTENT)) {
                jsonParser.nextToken();
                token1 = jsonParser.getCurrentToken();
                if (token1.equals(JsonToken.START_OBJECT) || token1.equals(JsonToken.START_ARRAY)) {
                    if (!resolver.isLive()) {
                        throw new ServletException("Resolver is already closed");
                    }
                } else {
                    throw new ServletException("Start object token not found for content");
                }
                if (token1.equals(JsonToken.START_OBJECT)) {
                    try {
                        if (contentType.equals(ContentTypeDefinitions.LABEL_QNA_FORUM)) {
                            importHelper.importQnaContent(jsonParser, resource, resolver);
                        } else if (contentType.equals(ContentTypeDefinitions.LABEL_FORUM)) {
                            importHelper.importForumContent(jsonParser, resource, resolver);
                        } else if (contentType.equals(ContentTypeDefinitions.LABEL_COMMENTS)) {
                            importHelper.importCommentsContent(jsonParser, resource, resolver);
                        } else if (contentType.equals(ContentTypeDefinitions.LABEL_JOURNAL)) {
                            importHelper.importJournalContent(jsonParser, resource, resolver);
                        } else if (contentType.equals(ContentTypeDefinitions.LABEL_FILELIBRARY)) {
                            importHelper.importFileLibrary(jsonParser, resource, resolver);
                        } else {
                            LOG.info("Unsupported content type: {}", contentType);
                            jsonParser.skipChildren();
                        }
                        jsonParser.nextToken();
                    } catch (final IOException e) {
                        throw new ServletException(e);
                    }
                    jsonParser.nextToken(); // skip over END_OBJECT
                } else {
                    try {
                        if (contentType.equals(ContentTypeDefinitions.LABEL_CALENDAR)) {
                            importHelper.importCalendarContent(jsonParser, resource, resolver);
                        } else if (contentType.equals(ContentTypeDefinitions.LABEL_TALLY)) {
                            importHelper.importTallyContent(jsonParser, resource, resolver);
                        } else {
                            LOG.info("Unsupported content type: {}", contentType);
                            jsonParser.skipChildren();
                        }
                        jsonParser.nextToken();
                    } catch (final IOException e) {
                        throw new ServletException(e);
                    }
                    jsonParser.nextToken(); // skip over END_ARRAY
                }
            } else {
                throw new ServletException("Content not found");
            }
        } else {
            throw new ServletException("No content type specified");
        }
    } else {
        throw new ServletException("Invalid Json format");
    }
}

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

public final NativeRequest.Asset.Data.Builder readReqData(JsonParser par) throws IOException {
    NativeRequest.Asset.Data.Builder data = NativeRequest.Asset.Data.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqDataField(par, data, fieldName);
        }/*  ww  w .ja v a2  s  .  c om*/
    }
    return data;
}

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

public final NativeRequest.Asset.Image.Builder readReqImage(JsonParser par) throws IOException {
    NativeRequest.Asset.Image.Builder req = NativeRequest.Asset.Image.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqImageField(par, req, fieldName);
        }//from  w ww .jav  a2  s  .c  om
    }
    return req;
}

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

public final NativeResponse.Asset.Data.Builder readRespData(JsonParser par) throws IOException {
    NativeResponse.Asset.Data.Builder data = NativeResponse.Asset.Data.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readRespDataField(par, data, fieldName);
        }//from   ww w . j av  a  2 s .  c o  m
    }
    return data;
}

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

public final NativeRequest.Asset.Title.Builder readReqTitle(JsonParser par) throws IOException {
    NativeRequest.Asset.Title.Builder title = NativeRequest.Asset.Title.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readReqTitleField(par, title, fieldName);
        }/*from   w  ww.  j  a  v  a2 s .com*/
    }
    return title;
}

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

public final NativeResponse.Asset.Title.Builder readRespTitle(JsonParser par) throws IOException {
    NativeResponse.Asset.Title.Builder title = NativeResponse.Asset.Title.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readRespTitleField(par, title, fieldName);
        }/* ww  w  . j  av a2 s.  c  om*/
    }
    return title;
}

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

public final NativeResponse.Asset.Image.Builder readRespImage(JsonParser par) throws IOException {
    NativeResponse.Asset.Image.Builder image = NativeResponse.Asset.Image.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readRespImageField(par, image, fieldName);
        }/*  w ww.  j  a  va 2 s .  com*/
    }
    return image;
}

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

public final NativeResponse.Asset.Video.Builder readRespVideo(JsonParser par) throws IOException {
    NativeResponse.Asset.Video.Builder video = NativeResponse.Asset.Video.newBuilder();
    for (startObject(par); endObject(par); par.nextToken()) {
        String fieldName = getCurrentName(par);
        if (par.nextToken() != JsonToken.VALUE_NULL) {
            readRespVideoField(par, video, fieldName);
        }// w  w  w .  j av  a2s  .c  om
    }
    return video;
}