想对以下一个json做解析
[{"X":["2006","2007","2008","2009","2010","2011"],
"Y":{"本科生数":["21525","3333","4444","5555","5334","6666"],
"研究生数":["3333","3333","4444","8437","4736"]}}]并将X下的数据放到一个list,Y下的本科生数下的数据放一个list,研究生数下的数据放一个list,请问怎么写程序?ps,X,Y是固定的,但是本科生数,研究生数这两个键值不一定固定,也有可能是其他属性JSON
[{"X":["2006","2007","2008","2009","2010","2011"],
"Y":{"本科生数":["21525","3333","4444","5555","5334","6666"],
"研究生数":["3333","3333","4444","8437","4736"]}}]并将X下的数据放到一个list,Y下的本科生数下的数据放一个list,研究生数下的数据放一个list,请问怎么写程序?ps,X,Y是固定的,但是本科生数,研究生数这两个键值不一定固定,也有可能是其他属性JSON
解决方案 »
- 同一个表中的同一个字段查询在一个sql语句中多次查询
- 关于子页面调用父页面组件的问题
- 自定义的数组如何给到Map<Integer,String>类型
- sql
- FCKeditor2.3 google浏览器下报错,请问如何解决,谢谢!
- servlet类找不到怎办啊?
- 写了一个jsp程序,运行之后中文显示的是乱码.这是怎么回事??给出代码和运行情况如下:
- 类重编译后不能直接用,为什么
- 用javamail判断邮件的附件时,part.getDisposition() 的返回总是null,不知如何解决请大家指点?
- 怎样使用javax.servlet包
- struts 2 select标签向action传值的问题
- FLEX教程,求一份详细的教程。在线等。
一个ATT对象下面包含X对象和Y对象
Y对象下面包含本科生和研究生对象的两个List
X对象下面包含一个List<String>
提供get和set方法。
最后
借用下面的方法http://bbs.csdn.net/topics/390337723进行解析
String input = "[{\"X\":[\"2006\",\"2007\",\"2008\",\"2009\",\"2010\",\"2011\"],\"Y\":{\"本科生数\":[\"21525\",\"3333\",\"4444\",\"5555\",\"5334\",\"6666\"],\"研究生数\":[\"3333\",\"3333\",\"4444\",\"8437\",\"4736\"]}}]";
JSONArray jsonArray = JSONArray.fromObject(input);for (Object object : jsonArray) {
JSONObject jsonObject = (JSONObject) object; JSONArray xjson = (JSONArray) jsonObject.get("X");
List<String> xList = (List<String>) xjson.toCollection(xjson, String.class); JSONObject yjson = (JSONObject) jsonObject.get("Y");
Iterator<String> it = yjson.keys();
while (it.hasNext()) {
String key = it.next();
JSONArray json = (JSONArray) jsonObject.get(key);
List<String> yList = json.toList(json, String.class);
}
}
JSONArray jsonArray = JSONArray.fromObject(input);
for (Object object : jsonArray) {
JSONObject jsonObject = (JSONObject) object;
JSONArray xjson = (JSONArray) jsonObject.get("X");
List<String> xList = (List<String>) xjson.toCollection(xjson, String.class);
JSONObject yjson = (JSONObject) jsonObject.get("Y");
Iterator<String> it = yjson.keys();
while (it.hasNext()) {
String key = it.next();
JSONArray json = (JSONArray) jsonObject.get(key);
List<String> yList = json.toList(json, String.class);
}
}
测试了下json为null
循环里
JSONArray json = (JSONArray) jsonObject.get(key);
应为
JSONArray json = (JSONArray) yjson.get(key);
ObjectMapper mapper = new ObjectMapper();
List<Content2> list = mapper.readValue(jsonString, new TypeReference<List<Content2>>(){});
其中Content2是按照json格式对应的java对象