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

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

Introduction

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

Prototype

public void beginObject() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is the beginning of a new object.

Usage

From source file:se.sics.datamodel.client.gson.CQueryObjAdapter.java

License:Open Source License

@Override
public CQueryObj read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();// w  ww . j a  v a  2 s  . c  o m

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("dbId")) {
        throw new IOException();
    }
    ByteId dbId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeId")) {
        throw new IOException();
    }
    ByteId typeId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("indexId")) {
        throw new IOException();
    }
    ByteId indexId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("indexVal")) {
        throw new IOException();
    }
    QueryTypeHolder indexVal = gson.fromJson(reader, QueryTypeHolder.class);
    reader.endObject();
    return new CQueryObj(Pair.with(dbId, typeId), indexId, indexVal);
}

From source file:se.sics.datamodel.client.gson.CQueryTypeAdapter.java

License:Open Source License

@Override
public QueryTypeHolder read(JsonReader reader) throws IOException {
    Gson gson = CGsonHelper.getGson();/*from  w ww.  j av a 2s .c o m*/

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME) {
        throw new IOException();
    }
    String queryType = reader.nextName();
    if (queryType.equals("is")) {
        JsonElement je = gson.fromJson(reader, JsonElement.class);
        return new FieldIsHolder(je);
    } else if (queryType.equals("from")) {
        JsonElement jeFrom = gson.fromJson(reader, JsonElement.class);
        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("to")) {
            throw new IOException();
        }
        JsonElement jeTo = gson.fromJson(reader, JsonElement.class);
        return new FieldScanHolder(jeFrom, jeTo);
    } else {
        throw new IOException("unknown query type");
    }
}

From source file:se.sics.datamodel.gson.TypeInfoAdapter.java

License:Open Source License

@Override
public TypeInfo read(JsonReader reader) throws IOException {
    String typeName;//ww w  .  j a va 2 s. com

    Gson gson = GsonHelper.getGson();

    reader.beginObject();
    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("typeName")) {
        throw new IOException();
    }
    typeName = reader.nextString();

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("fieldMap")) {
        throw new IOException();
    }
    if (reader.peek() != JsonToken.BEGIN_ARRAY) {
        throw new IOException();
    }
    reader.beginArray();

    TypeInfo.Builder tiBuilder = new TypeInfo.Builder(typeName);

    while (reader.peek() != JsonToken.END_ARRAY) {
        if (reader.peek() != JsonToken.BEGIN_OBJECT) {
            throw new IOException();
        }
        reader.beginObject();

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("id")) {
            throw new IOException();
        }
        ByteId fieldId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("field")) {
            throw new IOException();
        }
        FieldInfo fieldInfo = gson.fromJson(reader, FieldInfo.class);

        tiBuilder.put(fieldId, fieldInfo);
        reader.endObject();
    }

    reader.endArray();
    reader.endObject();
    return tiBuilder.build();
}

From source file:se.sics.datamodel.gson.ValueHolderAdapter.java

License:Open Source License

@Override
public ValueHolder read(JsonReader reader) throws IOException {
    Gson gson = GsonHelper.getGson();//  ww  w  .  ja v  a 2 s. com
    ValueHolder.Builder vhBuilder = new ValueHolder.Builder();

    if (reader.peek() != JsonToken.BEGIN_OBJECT) {
        throw new IOException();
    }
    reader.beginObject();

    if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("fieldMap")) {
        throw new IOException();
    }
    if (reader.peek() != JsonToken.BEGIN_ARRAY) {
        throw new IOException();
    }
    reader.beginArray();

    while (reader.peek() != JsonToken.END_ARRAY) {
        if (reader.peek() != JsonToken.BEGIN_OBJECT) {
            throw new IOException();
        }
        reader.beginObject();

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("id")) {
            throw new IOException();
        }
        ByteId fieldId = new ByteId((byte[]) gson.fromJson(reader, byte[].class));

        if (reader.peek() != JsonToken.NAME || !reader.nextName().equals("field")) {
            throw new IOException();
        }
        JsonElement je = gson.fromJson(reader, JsonElement.class);

        vhBuilder.put(fieldId, je);

        if (reader.peek() != JsonToken.END_OBJECT) {
            throw new IOException();
        }
        reader.endObject();
    }

    reader.endArray();
    reader.endObject();
    return vhBuilder.build();
}

From source file:sf.net.experimaestro.manager.json.JsonConverter.java

License:Open Source License

private Json readNext(JsonReader jsonReader) throws IOException {
    final JsonToken token = jsonReader.peek();
    switch (token) {
    case BEGIN_ARRAY: {
        jsonReader.beginArray();//w w  w  . j  a  v a 2 s .  c  o  m
        JsonArray array = new JsonArray();
        while (jsonReader.peek() != JsonToken.END_ARRAY) {
            array.add(readNext(jsonReader));
        }
        jsonReader.endArray();
        return array;
    }

    case BEGIN_OBJECT: {
        jsonReader.beginObject();
        JsonObject object = new JsonObject();
        while (jsonReader.peek() != JsonToken.END_OBJECT) {
            final String name = jsonReader.nextName();
            final Json value = readNext(jsonReader);
            object.put(name, value);
        }
        jsonReader.endObject();
        return object;
    }

    case BOOLEAN:
        return new JsonBoolean(jsonReader.nextBoolean());

    case STRING:
        return new JsonString(jsonReader.nextString());

    case NULL: {
        jsonReader.nextNull();
        return JsonNull.getSingleton();
    }

    case NUMBER:
        return new JsonReal(jsonReader.nextDouble());

    default:
        throw new RuntimeException("Cannot handle GSON token type: " + token.name());

    }
}

From source file:sf.net.experimaestro.utils.gson.JsonAdapter.java

License:Open Source License

private Json readValue(JsonReader in) throws IOException {
    final JsonToken peek = in.peek();
    switch (peek) {
    case BEGIN_ARRAY:
        in.beginArray();/*  w  w w . j  a v  a 2 s . c  om*/
        JsonArray array = new JsonArray();
        while (in.peek() != JsonToken.END_ARRAY) {
            array.add(readValue(in));
        }
        in.endArray();
        return array;

    case BEGIN_OBJECT:
        in.beginObject();
        JsonObject object = new JsonObject();
        while (in.peek() != JsonToken.END_OBJECT) {
            final String name = in.nextName();
            final Json value = readValue(in);
            object.put(name, value);
        }
        in.endObject();
        return object;

    case BOOLEAN:
        return new JsonBoolean(in.nextBoolean());

    case NUMBER:
        final double value = in.nextDouble();
        if (value == Math.round(value))
            return new JsonInteger((long) value);
        return new JsonReal(value);

    case STRING:
        return new JsonString(in.nextString());

    case NULL:
        return JsonNull.getSingleton();

    case NAME:
    case END_OBJECT:
    case END_ARRAY:
    case END_DOCUMENT:
        throw new AssertionError("Not expecting " + peek);
    }
    return null;
}

From source file:tools.DrawStatisticsForPubMedData.java

License:Apache License

public void parseStream(String jsonFile, String listOfJournals) throws IOException {

    String journalName;/*from   ww w .j a va2 s  .c  o  m*/
    int count = 0;
    int abstract_count = 0;
    int duplicates = 0;

    try {
        JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(jsonFile)));
        reader.setLenient(true);

        reader.beginObject();
        reader.skipValue();

        //System.out.println(nam);
        reader.beginArray();
        while (reader.hasNext()) {

            reader.beginObject();
            this.numeOfArticles++;
            while (reader.hasNext()) {
                String name = reader.nextName();

                if (name.equals("abstractText")) {
                    abstract_count++;
                    reader.skipValue();

                } else if (name.equals("journal")) {
                    journalName = reader.nextString();
                    journalList.add(journalName);
                } else if (name.equals("meshMajor")) {
                    int num_labels = readLabelsArray(reader);
                    count += num_labels;
                    labelDensity += (double) num_labels / 26563.0;
                } else if (name.equals("pmid")) {
                    int pmid = reader.nextInt();
                    if (!pmids.contains(pmid))
                        pmids.add(pmid);
                    else
                        duplicates++;
                } else if (name.equals("title")) {
                    reader.skipValue();
                } else if (name.equals("year")) {
                    reader.skipValue();
                } else {
                    System.out.println(name);
                    reader.skipValue();
                }
            }
            reader.endObject();
        }
        reader.endArray();

        System.out.println("Abstracts: " + abstract_count);
        System.out.println("Duplicates: " + duplicates);

        labelsPerArticle = (double) count / (double) numeOfArticles;
        labelDensity = labelDensity / (double) numeOfArticles;
        exportListOfJournals(listOfJournals);
        printStatistics();

    } catch (Exception ex) {
        System.out.println("Abstracts: " + abstract_count);
        System.out.println("Duplicates: " + duplicates);

        labelsPerArticle = (double) count / (double) numeOfArticles;
        labelDensity = labelDensity / (double) numeOfArticles;
        exportListOfJournals(listOfJournals);
        printStatistics();
        Logger.getLogger(DrawStatisticsForPubMedData.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:uk.ac.susx.tag.classificationframework.classifiers.NaiveBayesClassifier.java

License:Apache License

protected static Int2DoubleOpenHashMap readJsonInt2DoubleMap(JsonReader reader,
        FeatureExtractionPipeline pipeline, boolean areFeatures) throws IOException {
    Int2DoubleOpenHashMap map = new Int2DoubleOpenHashMap();
    reader.beginObject();
    while (reader.hasNext()) {
        map.put(areFeatures ? pipeline.featureIndex(reader.nextName()) : pipeline.labelIndex(reader.nextName()),
                reader.nextDouble());//from  w w w . j  a va  2 s  .  c o  m
    }
    reader.endObject();
    return map;
}

From source file:uk.ac.susx.tag.classificationframework.classifiers.NaiveBayesClassifier.java

License:Apache License

protected static Int2ObjectMap<Int2DoubleOpenHashMap> readJsonInt2ObjectMap(JsonReader reader,
        FeatureExtractionPipeline pipeline) throws IOException {
    Int2ObjectMap<Int2DoubleOpenHashMap> map = new Int2ObjectOpenHashMap<>();
    reader.beginObject();
    while (reader.hasNext()) {
        map.put(pipeline.labelIndex(reader.nextName()), readJsonInt2DoubleMap(reader, pipeline, true));
    }// www .ja  v  a2 s.c  o m
    reader.endObject();
    return map;
}