各位大侠们,小弟刚刚学习Android,碰到一个问题:Gson如何解析数组类型的Json数组类型类似:{
"count":100,
"page":1,
"list":[{
"title":"我的",
"tel":"110"
},
{
"title":"你的",
"tel":"120"
}]
}不知道这类Json用gson如何解析,指望各位大侠们指点,最好能有代码!谢谢大家了!
"count":100,
"page":1,
"list":[{
"title":"我的",
"tel":"110"
},
{
"title":"你的",
"tel":"120"
}]
}不知道这类Json用gson如何解析,指望各位大侠们指点,最好能有代码!谢谢大家了!
JSONObject jsonObject = new JSONObject(String);将此json数据变成一个对象。
然后JSONArray jsonArray = jsonObject.getJSONArray("list");获得list里面的数据
for(int i=0;i<jsonArray.length();i++)
{
JSONObject jsonOb = (JSONObject)jsonArray.opt(i);
int tel = jsonOb.getInt("tel");
}
循环读取中间的数据
",{\"STRPRODUCTCODE\":\"DWJ100\",\"STRVERSIONXZTEXT\":\"初始安装包\",\"STRPRODUCTNAME\":\"对外经贸查询系统\",\"STRVERSIONTYPE\":\"10\",\"STRVERSIONID\":\"V1 \",\"STRVERSIONCODE\":\"1.0.2.1018\",\"LINE_NUM\":1,\"STRVERSIONXZ\":\"10\",\"LIMIT\":1,\"NUMSHOWORDER\":1,\"STRVERSIONLOG\":\"修复1个bug,增加2个功能\",\"STRVERSIONTYPETEXT\":\"标准版\",\"DATRELEASEDATE\":\"2013-9-28 10:47:26\",\"STRVERSIONFY\":\"10万人民币\",\"STRSUPPORTOS\":\"Windows 2003/Windows 2008\",\"STRDELFLG\":\"0\"}" +
"]}";
Gson gson = new Gson();
JsonParser parser = new JsonParser();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
JsonObject jsonObject = parser.parse(json).getAsJsonObject();
JsonArray jsonArray = jsonObject.getAsJsonArray("dataList");
Type type = new TypeToken<Map<String,String>>() {}.getType();
for (int i = 0; i < jsonArray.size(); i++) {
JsonElement el = jsonArray.get(i);
Map<String,String> tmp = gson.fromJson(el, type);
list.add(tmp);
System.out.println(tmp.get("STRPRODUCTCODE"));
}
jsonObject.remove("dataList");
jsonObject.add("dataList", parser.parse(gson.toJson(list)).getAsJsonArray());
System.out.println(gson.toJson(jsonObject));