List of usage examples for com.google.gson.stream JsonReader hasNext
public boolean hasNext() throws IOException
From source file:io.github.rcarlosdasilva.weixin.core.json.adapter.OpenPlatformAuthGetLicenseInformationResponseTypeAdapter.java
private void readBusinessInfo(JsonReader in, LicensorInfromation licensorInfromation) throws IOException { in.beginObject();//from w ww. j a va 2 s .c om while (in.hasNext()) { String key = in.nextName(); switch (key) { case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_STORE_KEY: licensorInfromation.setBusinessStoreOpened(in.nextInt() == Convention.GLOBAL_TRUE_NUMBER); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_SCAN_KEY: licensorInfromation.setBusinessScanOpened(in.nextInt() == Convention.GLOBAL_TRUE_NUMBER); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_PAY_KEY: licensorInfromation.setBusinessPayOpened(in.nextInt() == Convention.GLOBAL_TRUE_NUMBER); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_CARD_KEY: licensorInfromation.setBusinessCardOpened(in.nextInt() == Convention.GLOBAL_TRUE_NUMBER); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_SHAKE_KEY: licensorInfromation.setBusinessShakeOpened(in.nextInt() == Convention.GLOBAL_TRUE_NUMBER); break; default: if (in.hasNext()) { String value = in.nextString(); logger.warn(LOG_UNKNOWN_JSON_KEY, key, value); } } } in.endObject(); }
From source file:io.grpc.internal.JsonParser.java
License:Apache License
private static Object parseRecursive(JsonReader jr) throws IOException { checkState(jr.hasNext(), "unexpected end of JSON"); switch (jr.peek()) { case BEGIN_ARRAY: return parseJsonArray(jr); case BEGIN_OBJECT: return parseJsonObject(jr); case STRING:/*from w ww .j a v a 2 s .co m*/ return jr.nextString(); case NUMBER: return jr.nextDouble(); case BOOLEAN: return jr.nextBoolean(); case NULL: return parseJsonNull(jr); default: throw new IllegalStateException("Bad token: " + jr.getPath()); } }
From source file:io.grpc.internal.JsonParser.java
License:Apache License
private static Map<String, ?> parseJsonObject(JsonReader jr) throws IOException { jr.beginObject();/*from w w w. jav a 2 s .c o m*/ Map<String, Object> obj = new LinkedHashMap<>(); while (jr.hasNext()) { String name = jr.nextName(); Object value = parseRecursive(jr); obj.put(name, value); } checkState(jr.peek() == JsonToken.END_OBJECT, "Bad token: " + jr.getPath()); jr.endObject(); return Collections.unmodifiableMap(obj); }
From source file:io.grpc.internal.JsonParser.java
License:Apache License
private static List<?> parseJsonArray(JsonReader jr) throws IOException { jr.beginArray();//from w ww. ja v a 2 s .c om List<Object> array = new ArrayList<>(); while (jr.hasNext()) { Object value = parseRecursive(jr); array.add(value); } checkState(jr.peek() == JsonToken.END_ARRAY, "Bad token: " + jr.getPath()); jr.endArray(); return Collections.unmodifiableList(array); }
From source file:it.bradipao.berengar.DbTool.java
License:Apache License
public static int gson2db(SQLiteDatabase mDB, File jsonFile) { // vars//from www .j a v a2 s . c om int iTableNum = 0; FileReader fr = null; BufferedReader br = null; JsonReader jr = null; String name = null; String val = null; String mTable = null; String mTableSql = null; ArrayList<String> aFields = null; ArrayList<String> aValues = null; ContentValues cv = null; // file readers try { fr = new FileReader(jsonFile); br = new BufferedReader(fr); jr = new JsonReader(br); } catch (FileNotFoundException e) { Log.e(LOGTAG, "error in gson2db file readers", e); } // parsing try { // start database transaction mDB.beginTransaction(); // open root { jr.beginObject(); // iterate through root objects while (jr.hasNext()) { name = jr.nextName(); if (jr.peek() == JsonToken.NULL) jr.skipValue(); // number of tables else if (name.equals("tables_num")) { val = jr.nextString(); iTableNum = Integer.parseInt(val); if (GOLOG) Log.d(LOGTAG, "TABLE NUM : " + iTableNum); } // iterate through tables array else if (name.equals("tables")) { jr.beginArray(); while (jr.hasNext()) { // start table mTable = null; aFields = null; jr.beginObject(); while (jr.hasNext()) { name = jr.nextName(); if (jr.peek() == JsonToken.NULL) jr.skipValue(); // table name else if (name.equals("table_name")) { mTable = jr.nextString(); } // table sql else if (name.equals("table_sql")) { mTableSql = jr.nextString(); if ((mTable != null) && (mTableSql != null)) { mDB.execSQL("DROP TABLE IF EXISTS " + mTable); mDB.execSQL(mTableSql); if (GOLOG) Log.d(LOGTAG, "DROPPED AND CREATED TABLE : " + mTable); } } // iterate through columns name else if (name.equals("cols_name")) { jr.beginArray(); while (jr.hasNext()) { val = jr.nextString(); if (aFields == null) aFields = new ArrayList<String>(); aFields.add(val); } jr.endArray(); if (GOLOG) Log.d(LOGTAG, "COLUMN NAME : " + aFields.toString()); } // iterate through rows else if (name.equals("rows")) { jr.beginArray(); while (jr.hasNext()) { jr.beginArray(); // iterate through values in row aValues = null; cv = null; while (jr.hasNext()) { val = jr.nextString(); if (aValues == null) aValues = new ArrayList<String>(); aValues.add(val); } jr.endArray(); // add to database cv = new ContentValues(); for (int j = 0; j < aFields.size(); j++) cv.put(aFields.get(j), aValues.get(j)); mDB.insert(mTable, null, cv); if (GOLOG) Log.d(LOGTAG, "INSERT IN " + mTable + " : " + aValues.toString()); } jr.endArray(); } else jr.skipValue(); } // end table jr.endObject(); } jr.endArray(); } else jr.skipValue(); } // close root } jr.endObject(); jr.close(); // successfull transaction mDB.setTransactionSuccessful(); } catch (IOException e) { Log.e(LOGTAG, "error in gson2db gson parsing", e); } finally { mDB.endTransaction(); } return iTableNum; }
From source file:json_export_import.GSON_Observer.java
public void read() { try {/*from w w w . j a v a 2 s . c om*/ JsonReader reader = new JsonReader(new FileReader("/home/rgreim/Output.json")); reader.beginArray(); while (reader.hasNext()) { String sequence = reader.nextString(); System.out.println("Sequenz: " + sequence); } reader.endArray(); reader.close(); } catch (FileNotFoundException ex) { Logger.getLogger(GSON_Observer.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(GSON_Observer.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:junk.StreamingSample.java
License:Apache License
/** * Run the bigquery ClI./*w ww . j av a 2 s .co m*/ * * @param projectId Project id * @param datasetId datasetid * @param tableId tableid * @param rows The source of the JSON rows we are streaming in. * @return Returns Iterates through the stream responses * @throws IOException Thrown if there is an error connecting to Bigquery. * @throws InterruptedException Should never be thrown */ // [START run] public static Iterator<TableDataInsertAllResponse> run(final String projectId, final String datasetId, final String tableId, final JsonReader rows) throws IOException { final Bigquery bigquery = BigqueryServiceFactory.getService(); final Gson gson = new Gson(); rows.beginArray(); return new Iterator<TableDataInsertAllResponse>() { /** * Check whether there is another row to stream. * * @return True if there is another row in the stream */ public boolean hasNext() { try { return rows.hasNext(); } catch (IOException e) { e.printStackTrace(); } return false; } /** * Insert the next row, and return the response. * * @return Next page of data */ public TableDataInsertAllResponse next() { try { Map<String, Object> rowData = gson.<Map<String, Object>>fromJson(rows, (new HashMap<String, Object>()).getClass()); return streamRow(bigquery, projectId, datasetId, tableId, new TableDataInsertAllRequest.Rows().setJson(rowData)); } catch (JsonSyntaxException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } public void remove() { this.next(); } }; }
From source file:kihira.minicreatures.MiniCreatures.java
License:Open Source License
@SuppressWarnings("ResultOfMethodCallIgnored") private void loadPersonalityTypes(File configDir) { File personalityTypesFile = new File(configDir, File.separator + "MiniCreatures" + File.separator + "PersonalityTypes.json"); try {//from ww w. j ava2 s . c o m Gson gson = GsonHelper.createGson(Mood.class); if (!personalityTypesFile.exists()) { //Create files/directories new File(configDir, File.separator + "MiniCreatures").mkdirs(); personalityTypesFile.createNewFile(); JsonWriter jsonWriter = new JsonWriter(new FileWriter(personalityTypesFile)); //TODO just copy a pre-genned file like marker beacons //Create defaults //Create default personalities jsonWriter.beginArray(); List<String> list = new ArrayList<String>(); list.add(EntityMiniPlayer.class.getName()); gson.toJson(gson.toJsonTree(new Mood("psychotic", list, new HashMap<String, MoodVariable>() { { put("happiness", new MoodVariable(35, 50)); put("hostility", new MoodVariable(40, 50)); } })), jsonWriter); gson.toJson(gson.toJsonTree(new Mood("coldblooded", list, new HashMap<String, MoodVariable>() { { put("happiness", new MoodVariable(-50, 0)); put("hostility", new MoodVariable(40, 50)); } })), jsonWriter); gson.toJson(gson.toJsonTree(new Mood("happy", list, new HashMap<String, MoodVariable>() { { put("happiness", new MoodVariable(10, 50)); put("hostility", new MoodVariable(-50, 10)); } })), jsonWriter); gson.toJson(gson.toJsonTree(new Mood("depressed", list, new HashMap<String, MoodVariable>() { { put("happiness", new MoodVariable(-50, 0)); put("hostility", new MoodVariable(-10, 10)); } })), jsonWriter); gson.toJson(gson.toJsonTree(new MoodTest("test")), jsonWriter); jsonWriter.endArray(); jsonWriter.close(); } //Load personality types JsonReader reader = new JsonReader(new FileReader(personalityTypesFile)); reader.beginArray(); while (reader.hasNext()) { Mood mood = gson.fromJson(reader, Mood.class); Personality.moodList.add(mood); logger.debug("Loaded mood %s", mood.toString()); } reader.endArray(); } catch (IOException e1) { e1.printStackTrace(); } }
From source file:me.ixfan.wechatkit.message.out.json.MassMessageGsonTypeAdapter.java
License:Open Source License
@Override public MessageForMassSend read(JsonReader in) throws IOException { MessageForMassSend.Filter filter = null; List<String> toUser = null; String msgType = null;/* w w w .j a v a 2 s . c o m*/ String msgContent = null; in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "msgtype": msgType = in.nextString(); break; case "filter": in.beginObject(); String tagId = null; boolean isToAll = false; while (in.hasNext()) { switch (in.nextName()) { case "is_to_all": isToAll = in.nextBoolean(); break; case "tag_id": tagId = in.nextString(); break; default: break; } } in.endObject(); filter = new MessageForMassSend.Filter(tagId, isToAll); break; case "touser": in.beginArray(); toUser = new ArrayList<>(); while (in.hasNext()) { toUser.add(in.nextString()); } in.endArray(); break; case "text": case "image": case "voice": case "mpnews": case "mpvideo": case "wxcard": in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "content": case "media_id": case "card_id": msgContent = in.nextString(); break; default: break; } } in.endObject(); break; default: break; } } in.endObject(); if (null != filter) { return new MessageForMassSend(OutMessageType.valueOf(msgType), msgContent, filter.getTagId(), filter.isToAll()); } else if (null != toUser) { return new MessageForMassSend(OutMessageType.valueOf(msgType), msgContent, toUser); } return null; }
From source file:me.j360.trace.core.internal.JsonCodec.java
License:Apache License
public List<List<Span>> readTraces(byte[] bytes) { JsonReader reader = jsonReader(bytes); List<List<Span>> result = new LinkedList<List<Span>>(); // cause we don't know how long it will be try {//from w w w .j ava2 s.co m reader.beginArray(); while (reader.hasNext()) { reader.beginArray(); List<Span> trace = new LinkedList<Span>(); // cause we don't know how long it will be while (reader.hasNext()) { trace.add(SPAN_ADAPTER.fromJson(reader)); } reader.endArray(); result.add(trace); } reader.endArray(); return result; } catch (Exception e) { throw exceptionReading("List<List<Span>>", bytes, e); } }