List of usage examples for com.google.gson.stream JsonReader beginObject
public void beginObject() throws IOException
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; }