例1(json数据):
String sJson = "[{'id':1,'pId':0,'name':'请求参数','type':1,'required':1,'ordered':'1','mark':'根据节点'},{'id':1455676993000,'pId':1,'name':'Student','type':'void','required':'0','ordered':'','mark':'','value':''},{'id':1455677024000,'pId':1455676993000,'name':'id','type':'String','required':'0','ordered':'','mark':'','value':'0'},{'id':1455677058000,'pId':1455676993000,'name':'name','type':'String','required':'1','ordered':'','mark':'','value':'张三'},{'id':1455677115000,'pId':1,'name':'id','type':'String','required':'1','ordered':'','mark':'','value':''}]";
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray jsonArray = parser.parse(sJson).getAsJsonArray();
for (int i = 0; i < jsonArray.size(); i++) {
JsonElement el = jsonArray.get(i);
ShareParam param = gson.fromJson(el, ShareParam.class);
System.out.println(param);
}
例2(map对象):
String json = "{start: 0, pageCount: 2, dataList: [{\"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\"}" +
",{\"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();
JsonObject jsonObject = parser.parse(json).getAsJsonObject();
JsonArray jsonArray = jsonObject.getAsJsonArray("dataList");
Type type = new TypeToken<Map<String,String>>() {}.getType();
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
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));