想对以下一个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
解决方案 »
- 实体类插入list问题
- Caused by: org.hibernate.MappingException: Unknown entity: com.topwalk.oa.person
- 静态页面提交到jsp页面时,出现下载要提交的jsp页面,怎么回事?菜鸟求解
- 急求高手有关web开发的问题
- MyEclipse 部署问题,大家来看一看,很简单但是很怪
- Servlet.service()
- 小问题,大家来看看,解决立刻节帖,分不够再加(up)
- request.setAttribute()怎么使用?
- 如何用java(jsp)编程实现把htm页面中的表格(table)直接存成Excel文件。(无正文)
- javax中的这几个包有谁用过吗,帮忙提供点资料,不胜感激
- 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对象