Example usage for com.google.gson.stream JsonReader hasNext

List of usage examples for com.google.gson.stream JsonReader hasNext

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader hasNext.

Prototype

public boolean hasNext() throws IOException 

Source Link

Document

Returns true if the current array or object has another element.

Usage

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Category parseCategory(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from w  w  w  .  j a v  a  2  s  .c  o m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Category object = new com.vimeo.networking.model.Category();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.name = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "metadata":
            try {
                object.metadata = ParseUtils.parseMetadata(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Category.metadata JSON!", exception);
            }
            break;
        case "pictures":
            try {
                object.pictures = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Category.pictures JSON!", exception);
            }
            break;
        case "top_level":
            if (jsonToken == com.google.gson.stream.JsonToken.BOOLEAN) {
                object.topLevel = reader.nextBoolean();
            } else {
                reader.skipValue();
            }
            break;
        case "subcategories":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.subcategories = ParseUtils.parseArray(gson, reader,
                        com.vimeo.networking.model.Category.class);
            } else {
                reader.skipValue();
            }
            break;
        case "parent":
            try {
                object.parent = ParseUtils.parseCategory(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Category.parent JSON!", exception);
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.link = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static VodList parseVodList(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//w w w  . j a  v  a 2 s  .c  o m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.VodList object = new com.vimeo.networking.model.VodList();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.total = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "per_page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.perPage = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.page = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "data":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.data = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.VodItem.class);
            } else {
                reader.skipValue();
            }
            break;
        case "paging":
            try {
                object.paging = ParseUtils.parsePaging(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodList.paging JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static InteractionCollection parseInteractionCollection(Gson gson, JsonReader reader)
        throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/* ww  w. ja va  2 s. c om*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.InteractionCollection object = new com.vimeo.networking.model.InteractionCollection();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "rent":
            try {
                object.rent = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.rent JSON!", exception);
            }
            break;
        case "watchlater":
            try {
                object.watchlater = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.watchlater JSON!", exception);
            }
            break;
        case "follow":
            try {
                object.follow = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.follow JSON!", exception);
            }
            break;
        case "like":
            try {
                object.like = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.like JSON!", exception);
            }
            break;
        case "buy":
            try {
                object.buy = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.buy JSON!", exception);
            }
            break;
        case "subscribe":
            try {
                object.subscribe = ParseUtils.parseInteraction(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing InteractionCollection.subscribe JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Interaction parseInteraction(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/*from w w w .  j a v a 2 s  .  c om*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Interaction object = new com.vimeo.networking.model.Interaction();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "added":
            if (jsonToken == com.google.gson.stream.JsonToken.BOOLEAN) {
                object.added = reader.nextBoolean();
            } else {
                reader.skipValue();
            }
            break;
        case "added_time":
            try {
                object.addedTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Interaction.addedTime JSON!", exception);
            }
            break;
        case "expires_time":
            try {
                object.expiration = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Interaction.expiration JSON!", exception);
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "stream":
            try {
                object.stream = Stag.readFromAdapter(gson, com.vimeo.networking.model.Interaction.Stream.class,
                        reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Interaction.stream JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Video parseVideo(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/*from  w w w .  j a  v  a 2 s  .  co m*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Video object = new com.vimeo.networking.model.Video();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "release_time":
            try {
                object.releaseTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.releaseTime JSON!", exception);
            }
            break;
        case "description":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.description = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "modified_time":
            try {
                object.modifiedTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.modifiedTime JSON!", exception);
            }
            break;
        case "content_rating":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.contentRating = ParseUtils.parseArray(gson, reader, java.lang.String.class);
            } else {
                reader.skipValue();
            }
            break;
        case "license":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.license = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "tags":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.tags = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.Tag.class);
            } else {
                reader.skipValue();
            }
            break;
        case "review_link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.reviewLink = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "height":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.height = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "files":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.files = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.VideoFile.class);
            } else {
                reader.skipValue();
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.link = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "stats":
            try {
                object.stats = ParseUtils.parseStatsCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.stats JSON!", exception);
            }
            break;
        case "metadata":
            try {
                object.metadata = ParseUtils.parseMetadata(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.metadata JSON!", exception);
            }
            break;
        case "language":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.language = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "created_time":
            try {
                object.createdTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.createdTime JSON!", exception);
            }
            break;
        case "password":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.password = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "pictures":
            try {
                object.pictures = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.pictures JSON!", exception);
            }
            break;
        case "embed":
            try {
                object.embed = ParseUtils.parseEmbed(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.embed JSON!", exception);
            }
            break;
        case "status":
            try {
                object.status = Stag.readFromAdapter(gson, com.vimeo.networking.model.Video.Status.class,
                        reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.status JSON!", exception);
            }
            break;
        case "play":
            try {
                object.play = ParseUtils.parsePlay(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.play JSON!", exception);
            }
            break;
        case "duration":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.duration = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "resource_key":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.resourceKey = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "privacy":
            try {
                object.privacy = ParseUtils.parsePrivacy(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.privacy JSON!", exception);
            }
            break;
        case "width":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.width = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "categories":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.categories = ParseUtils.parseArray(gson, reader,
                        com.vimeo.networking.model.Category.class);
            } else {
                reader.skipValue();
            }
            break;
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.name = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "user":
            try {
                object.user = ParseUtils.parseUser(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Video.user JSON!", exception);
            }
            break;
        case "download":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.download = ParseUtils.parseArray(gson, reader,
                        com.vimeo.networking.model.VideoFile.class);
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static VodItem parseVodItem(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from w  ww  .ja  v  a  2 s  .co m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.VodItem object = new com.vimeo.networking.model.VodItem();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "type":
            try {
                object.mType = Stag.readFromAdapter(gson, com.vimeo.networking.model.VodItem.VodType.class,
                        reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mType JSON!", exception);
            }
            break;
        case "publish":
            try {
                object.mPublish = ParseUtils.parsePublish(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mPublish JSON!", exception);
            }
            break;
        case "film":
            try {
                object.mFilm = ParseUtils.parseVideo(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mFilm JSON!", exception);
            }
            break;
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.mName = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "metadata":
            try {
                object.mMetadata = ParseUtils.parseMetadata(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mMetadata JSON!", exception);
            }
            break;
        case "description":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.mDescription = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "pictures":
            try {
                object.mPictures = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mPictures JSON!", exception);
            }
            break;
        case "user":
            try {
                object.mUser = ParseUtils.parseUser(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mUser JSON!", exception);
            }
            break;
        case "trailer":
            try {
                object.mTrailer = ParseUtils.parseVideo(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VodItem.mTrailer JSON!", exception);
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.mLink = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Preferences parsePreferences(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/*ww  w.  j a va2  s  .  c om*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Preferences object = new com.vimeo.networking.model.Preferences();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "videos":
            try {
                object.videos = ParseUtils.parseVideosPreference(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Preferences.videos JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static ChannelList parseChannelList(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from  ww  w  .  j ava2 s  . c om
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.ChannelList object = new com.vimeo.networking.model.ChannelList();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.total = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "per_page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.perPage = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.page = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "data":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.data = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.Channel.class);
            } else {
                reader.skipValue();
            }
            break;
        case "paging":
            try {
                object.paging = ParseUtils.parsePaging(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing ChannelList.paging JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Metadata parseMetadata(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/* w ww  .  j  a  v  a2s.  c  o  m*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Metadata object = new com.vimeo.networking.model.Metadata();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "connections":
            try {
                object.connections = ParseUtils.parseConnectionCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Metadata.connections JSON!", exception);
            }
            break;
        case "interactions":
            try {
                object.interactions = ParseUtils.parseInteractionCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Metadata.interactions JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static PlayProgress parsePlayProgress(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from ww w .j  av  a  2  s  .  c  om
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.playback.PlayProgress object = new com.vimeo.networking.model.playback.PlayProgress();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "seconds":
            try {
                object.mSeconds = Stag.readFromAdapter(gson, java.lang.Float.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing PlayProgress.mSeconds JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}