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

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

Introduction

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

Prototype

public JsonReader(Reader in) 

Source Link

Document

Creates a new instance that reads a JSON-encoded stream from in .

Usage

From source file:com.utad.flume.interceptor.InterceptorTwitterSpark.java

License:Apache License

private byte[] readJsonStream(InputStream is) {
    byte[] body = null;
    try {//from w  ww .  j av a  2s.  co  m
        JsonReader reader = new JsonReader(new InputStreamReader(is, "UTF-8"));
        try {
            long id = 0L;
            String text = null;
            String userName = null;
            String userScreenName = null;
            reader.beginObject();
            while (reader.hasNext()) {
                String name = reader.nextName();
                if (name.equals("id")) {
                    id = reader.nextLong();
                } else if (name.equals("text")) {
                    text = reader.nextString();
                } else if (name.equals("user")) {
                    reader.beginObject();
                    while (reader.hasNext()) {
                        name = reader.nextName();
                        if (name.equals("name")) {
                            userName = reader.nextString();
                        } else if (name.equals("screen_name")) {
                            userScreenName = reader.nextString();
                        } else {
                            reader.skipValue();
                        }
                    }
                    reader.endObject();
                } else {
                    reader.skipValue();
                }
            }
            reader.endObject();

            StringBuilder builder = new StringBuilder();

            if (textoSalida) {
                builder = new StringBuilder(text);
            }

            logger.debug("id: {}", id);
            logger.debug("text: {}", text);
            logger.debug("username: {}", userName);
            logger.debug("screenName: {}", userScreenName);

            body = builder.toString().getBytes("UTF-8");
        } finally {
            reader.close();
        }
    } catch (UnsupportedEncodingException e) {
        logger.error("UTF-8 is not supported on this runtime", e);
    } catch (IOException e) {
        logger.error("Caught an IOException", e);
    }
    return body;
}

From source file:com.voxelplugineering.voxelsniper.service.persistence.JsonDataSource.java

License:Open Source License

/**
 * {@inheritDoc}/*from  w  w w . ja v  a 2  s.  c  o m*/
 */
@Override
public DataContainer read() throws IOException {
    JsonReader reader = null;
    DataContainer container = null;
    try {
        reader = new JsonReader(new FileReader(this.file));
        JsonParser parser = new JsonParser();
        JsonElement rootelement = parser.parse(reader);
        container = toContainer(rootelement);

    } finally {
        if (reader != null) {
            reader.close();
        }
    }
    return container;
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

public String getJsapiTicket(boolean forceRefresh) throws WxErrorException {
    if (forceRefresh) {
        wxCpConfigStorage.expireJsapiTicket();
    }//from   ww w . ja  v  a2  s . c o m
    if (wxCpConfigStorage.isJsapiTicketExpired()) {
        synchronized (globalJsapiTicketRefreshLock) {
            if (wxCpConfigStorage.isJsapiTicketExpired()) {
                String url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket";
                String responseContent = execute(new SimpleGetRequestExecutor(), url, null);
                JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
                JsonObject tmpJsonObject = tmpJsonElement.getAsJsonObject();
                String jsapiTicket = tmpJsonObject.get("ticket").getAsString();
                int expiresInSeconds = tmpJsonObject.get("expires_in").getAsInt();
                wxCpConfigStorage.updateJsapiTicket(jsapiTicket, expiresInSeconds);
            }
        }
    }
    return wxCpConfigStorage.getJsapiTicket();
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

public Integer departCreate(WxCpDepart depart) throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/department/create";
    String responseContent = execute(new SimplePostRequestExecutor(), url, depart.toJson());
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return GsonHelper.getAsInteger(tmpJsonElement.getAsJsonObject().get("id"));
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

public List<WxCpDepart> departGet() throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/department/list";
    String responseContent = get(url, null);
    /*//  ww  w. j a v a  2 s. co  m
     * ?API { group : { id : ..., name : ...} }
     *  { groups : [ { id : ..., name : ..., count : ... }, ... ] }
     */
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxCpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("department"),
            new TypeToken<List<WxCpDepart>>() {
            }.getType());
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

@Override
public List<WxCpUser> userList(Integer departId, Boolean fetchChild, Integer status) throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/user/list?department_id=" + departId;
    String params = "";
    if (fetchChild != null) {
        params += "&fetch_child=" + (fetchChild ? "1" : "0");
    }/*  w  ww  .  j  a v a 2 s.c o m*/
    if (status != null) {
        params += "&status=" + status;
    } else {
        params += "&status=0";
    }

    String responseContent = get(url, params);
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxCpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("userlist"),
            new TypeToken<List<WxCpUser>>() {
            }.getType());
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

@Override
public List<WxCpUser> departGetUsers(Integer departId, Boolean fetchChild, Integer status)
        throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?department_id=" + departId;
    String params = "";
    if (fetchChild != null) {
        params += "&fetch_child=" + (fetchChild ? "1" : "0");
    }//from w ww  . j  a va2  s.co  m
    if (status != null) {
        params += "&status=" + status;
    } else {
        params += "&status=0";
    }

    String responseContent = get(url, params);
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxCpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("userlist"),
            new TypeToken<List<WxCpUser>>() {
            }.getType());
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

@Override
public String tagCreate(String tagName) throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/tag/create";
    JsonObject o = new JsonObject();
    o.addProperty("tagname", tagName);
    String responseContent = post(url, o.toString());
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return tmpJsonElement.getAsJsonObject().get("tagid").getAsString();
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

@Override
public List<WxCpTag> tagGet() throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/tag/list";
    String responseContent = get(url, null);
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxCpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("taglist"),
            new TypeToken<List<WxCpTag>>() {
            }.getType());//w w  w  .ja v a 2s. c om
}

From source file:com.wallellen.wechat.cp.api.WxCpServiceImpl.java

License:Open Source License

@Override
public List<WxCpUser> tagGetUsers(String tagId) throws WxErrorException {
    String url = "https://qyapi.weixin.qq.com/cgi-bin/tag/get?tagid=" + tagId;
    String responseContent = get(url, null);
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxCpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("userlist"),
            new TypeToken<List<WxCpUser>>() {
            }.getType());//from   w w  w.  ja  v a 2s.c  om
}