Gson使用方法之streaming
2014-09-19 22:01
190 查看
streaming
Gson提供流的方式来解析json字符串,当碰到装着不同类型对象的list时,可以应用这种方式来解析,抓取其中想要的内容示例程序使用了顺序遍历方法,简单但是好用
public class ParseTokenTest { public static void main(String[] args) throws MalformedURLException, IOException { // TODO Auto-generated method stub ParseTokenTest test = new ParseTokenTest(); String url = "http://freemusicarchive.org/api/get/albums.json?api_key=60BLHNQCAOUFPIBZ&limit=5"; String json = IOUtils.toString(new URL(url)); JsonReader reader = new JsonReader(new StringReader(json)); test.handleObject(reader); } public void handleObject(JsonReader reader) throws IOException { reader.beginObject(); while (reader.hasNext()) { JsonToken token = reader.peek(); if (token.equals(JsonToken.BEGIN_ARRAY)) { handleArray(reader); } else if (token.equals(JsonToken.END_ARRAY)) { reader.endObject(); return; } else { handleNonArrayToken(reader, token); } } } public void handleArray(JsonReader reader) throws IOException { reader.beginArray(); while (true) { JsonToken token = reader.peek(); if (token.equals(JsonToken.END_ARRAY)) { reader.endArray(); break; } else if (token.equals(JsonToken.BEGIN_OBJECT)) { handleObject(reader); } else { handleNonArrayToken(reader, token); } } } public void handleNonArrayToken(JsonReader reader, JsonToken token) throws IOException { if (token.equals(JsonToken.NAME)) { System.out.println(reader.nextName()); } else if (token.equals(JsonToken.STRING)) { System.out.println(reader.nextString()); } else if (token.equals(JsonToken.NUMBER)) { System.out.println(reader.nextDouble()); } else { reader.skipValue(); } } }
参考资料:Java
Gson - parsing json to java token by token
相关文章推荐
- gson使用方法
- Gson使用方法之Databinding
- GSON使用方法
- Android中使用Gson解析JSON数据的两种方法
- Gson的使用方法
- gson的简单使用方法
- Json数据处理:使用GSON处理数据的方法
- 安卓中使用Gson解析json方法详解与使用例子
- Android中使用Gson解析JSON数据的两种方法
- Gson的简单使用方法
- Gson使用方法之Tree Representation
- Gson的使用以及com.google.gson.JsonSyntaxException的解决方法
- Gson简单使用方法
- Gson使用方法
- Android中使用Gson解析JSON数据的两种方法
- Gson使用方法
- 使用Gson解析json在打包混淆时出错的解决方法
- Android中使用Gson解析JSON数据的两种方法
- Android的Gson的使用方法,实现Json结构间相互转换
- 从业务方面浅谈Gson的使用方法