List of usage examples for com.google.gson.stream JsonReader nextName
public String nextName() throws IOException
From source file:eu.jtzipi.project0.common.json.impl.GsonReadWrite.java
License:Apache License
static Map<String, Object> parseObject(final JsonReader jsonReader) throws IOException { Map<String, Object> map = new HashMap<>(); String tempKey;//from ww w . ja v a 2 s. com JsonToken tok; // while (jsonReader.hasNext()) { // since we want to restore a map we assue a key/value pair tempKey = jsonReader.nextName(); // tok = jsonReader.peek(); // we reach the end of this array if (JsonToken.END_ARRAY == tok) { jsonReader.endArray(); // return break; } // what token switch (tok) { // if array/map - parse and append case BEGIN_ARRAY: map.put(tempKey, parseArray(jsonReader)); break; case BEGIN_OBJECT: map.put(tempKey, parseObject(jsonReader)); break; // if raw type case STRING: map.put(tempKey, jsonReader.nextString()); break; case BOOLEAN: map.put(tempKey, jsonReader.nextBoolean()); break; case NUMBER: map.put(tempKey, jsonReader.nextDouble()); break; // if null , add null and consume case NULL: map.put(tempKey, null); jsonReader.nextNull(); break; // all other cases are errors default: throw new IllegalStateException("Wrong Token '" + tok + "' , while parsing an array"); } } return map; }
From source file:io.bouquet.v4.GsonFactory.java
License:Apache License
@Override public ApiException read(JsonReader in) throws IOException { in.beginObject();/*from w w w . j a va 2 s.c o m*/ String message = null; int code = 0; String redirectURL = null; String clientId = null; String type = null; while (in.hasNext()) { switch (in.nextName()) { case "code": code = in.nextInt(); break; case "type": type = in.nextString(); case "error": message = in.nextString(); case "redirectURL": redirectURL = in.nextString(); case "clientId": clientId = in.nextString(); } } ApiException ae = new ApiException(code, message); ae.setType(type); ae.setRedirectURL(redirectURL); ae.setClientId(clientId); return ae; }
From source file:io.github.rcarlosdasilva.weixin.core.json.adapter.OpenPlatformAuthGetLicenseInformationResponseTypeAdapter.java
@Override public OpenPlatformAuthGetLicenseInformationResponse read(JsonReader in) throws IOException { OpenPlatformAuthGetLicenseInformationResponse model = new OpenPlatformAuthGetLicenseInformationResponse(); in.beginObject();//ww w . ja v a 2s . c o m while (in.hasNext()) { String key = in.nextName(); switch (key) { case Convention.OPEN_PLATFORM_AUTH_LICENSED_INFORMATION_KEY: readLicensedAccessToken(in, model); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_INFORMATION_KEY: readLicensorInformation(in, model); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_ACCESS_TOKEN_KEY: model.getLicensedAccessToken().setAccessToken(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_ACCESS_TOKEN_EXPIRES_IN_KEY: model.getLicensedAccessToken().setExpiresIn(in.nextInt()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_REFRESH_TOKEN_KEY: model.getLicensedAccessToken().setRefreshToken(in.nextString()); break; default: if (in.hasNext()) { String value = in.nextString(); logger.warn(LOG_UNKNOWN_JSON_KEY, key, value); } } } in.endObject(); return model; }
From source file:io.github.rcarlosdasilva.weixin.core.json.adapter.OpenPlatformAuthGetLicenseInformationResponseTypeAdapter.java
private void readLicensedAccessToken(JsonReader in, OpenPlatformAuthGetLicenseInformationResponse model) throws IOException { LicensingInformation licensingInformation = new LicensingInformation(); in.beginObject();/*from w w w . ja v a 2s . c om*/ while (in.hasNext()) { String key = in.nextName(); switch (key) { case Convention.OPEN_PLATFORM_AUTH_LICENSED_APPID_ALIAS_KEY: case Convention.OPEN_PLATFORM_AUTH_LICENSED_APPID_KEY: licensingInformation.setAppId(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_ACCESS_TOKEN_KEY: model.getLicensedAccessToken().setAccessToken(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_ACCESS_TOKEN_EXPIRES_IN_KEY: model.getLicensedAccessToken().setExpiresIn(in.nextInt()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_REFRESH_TOKEN_KEY: model.getLicensedAccessToken().setRefreshToken(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSED_FUNCTIONS_INFO_KEY: { in.beginArray(); while (in.hasNext()) { in.beginObject(); in.nextName(); in.beginObject(); in.nextName(); licensingInformation.addLicencedFunction(in.nextInt()); in.endObject(); in.endObject(); } in.endArray(); break; } default: if (in.hasNext()) { String value = in.nextString(); logger.warn(LOG_UNKNOWN_JSON_KEY, key, value); } } } in.endObject(); model.setLicensingInformation(licensingInformation); }
From source file:io.github.rcarlosdasilva.weixin.core.json.adapter.OpenPlatformAuthGetLicenseInformationResponseTypeAdapter.java
private void readLicensorInformation(JsonReader in, OpenPlatformAuthGetLicenseInformationResponse model) throws IOException { LicensorInfromation licensorInfromation = new LicensorInfromation(); in.beginObject();//ww w. j a v a 2s .c om while (in.hasNext()) { String key = in.nextName(); switch (key) { case Convention.OPEN_PLATFORM_AUTH_LICENSOR_NICKNAME_KEY: licensorInfromation.setNickName(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_LOGO_KEY: licensorInfromation.setLogo(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_ACCOUNT_TYPE_KEY: { in.beginObject(); in.nextName(); licensorInfromation.setAccountType(in.nextInt()); in.endObject(); break; } case Convention.OPEN_PLATFORM_AUTH_LICENSOR_ACCOUNT_VERIFIED_TYPE_KEY: { in.beginObject(); in.nextName(); licensorInfromation.setAccountVerifiedType(in.nextInt()); in.endObject(); break; } case Convention.OPEN_PLATFORM_AUTH_LICENSOR_MPID_KEY: licensorInfromation.setMpId(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_PRINCIPAL_NAME_KEY: licensorInfromation.setPrincipalName(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_ACCOUNT_NAME_KEY: licensorInfromation.setAccountName(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_QRCODE_URL_KEY: licensorInfromation.setQrCodeUrl(in.nextString()); break; case Convention.OPEN_PLATFORM_AUTH_LICENSOR_BUSINESS_INFO_KEY: readBusinessInfo(in, licensorInfromation); break; default: if (in.hasNext()) { String value = in.nextString(); logger.warn(LOG_UNKNOWN_JSON_KEY, key, value); } } } in.endObject(); model.setLicensorInfromation(licensorInfromation); }
From source file:io.github.rcarlosdasilva.weixin.core.json.adapter.OpenPlatformAuthGetLicenseInformationResponseTypeAdapter.java
private void readBusinessInfo(JsonReader in, LicensorInfromation licensorInfromation) throws IOException { in.beginObject();// www . j a va 2 s. c o m 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 Map<String, ?> parseJsonObject(JsonReader jr) throws IOException { jr.beginObject();//from w ww .j a va 2s . com 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.prediction.workflow.JavaQueryTypeAdapterFactory.java
License:Apache License
@Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (type.getRawType().equals(JavaQuery.class)) { return (TypeAdapter<T>) new TypeAdapter<JavaQuery>() { public void write(JsonWriter out, JavaQuery value) throws IOException { if (value == null) { out.nullValue();/*from ww w .j ava 2 s. c om*/ } else { out.beginObject(); out.name("q").value(value.getQ().toUpperCase()); out.endObject(); } } public JavaQuery read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { reader.beginObject(); reader.nextName(); String q = reader.nextString(); reader.endObject(); return new JavaQuery(q.toUpperCase()); } } }; } else { return null; } }
From source file:it.bradipao.berengar.DbTool.java
License:Apache License
public static int gson2db(SQLiteDatabase mDB, File jsonFile) { // vars/*from ww w . 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: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;//www . j a v a2 s . c om 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; }