解决方案 »
- jfreechart比较奇怪的问题啊!当数据是全0的情况,数据就水平显示了(有原码可直接运行)
- 这小段代码错了 大侠帮我瞧下把
- 高人们!重构方法名前,加与不加public关键字修饰有区别吗
- 关于applet不得不开多线程的问题 100分,不让我给再多了。。。
- JAVA中怎样实现javascript的escape()方法?
- 关于java中的TreeView的问题,希望大虾们指点,我是真的搞不懂了
- ##100分求教反射的问题:关于反射查找某个方法,请高人指点
- 高手帮忙过来看一下,好象不是一般的 数组越界
- 问一个java的安装问题。
- 有用AMD做开发平台的吗?
- java模拟栈的结构
- 怎样连接java db?
2、我一般会使用dwr来处理繁杂的,多层嵌套的json格式数据
3、别的我不会
public class JSON {
public static void main(String[] args) {
Book book = new Book();
book.setName("mybook");
List<Page> pages = new ArrayList<Page>();
for(int i =0 ;i< 5;i++){
Page page = new Page();
page.setName("pageName"+(i+1));
List<Column> columns = new ArrayList<Column>();
for(int j=0;j<2;j++){
Column col = new Column();
col.setName("colName"+(j+1));
col.setCount(j+1);
columns.add(col);
}
page.setColumn(columns);
pages.add(page);
}
book.setPage(pages);
JSONObject jsonObj = JSONObject.fromObject(book);
System.out.println(jsonObj);
}
}
后台打印:
{"page":[{"column":[{"name":"colName1","count":1},{"name":"colName2","count":2}],"name":"pageName1"},{"column":[{"name":"colName1","count":1},{"name":"colName2","count":2}],"name":"pageName2"},{"column":[{"name":"colName1","count":1},{"name":"colName2","count":2}],"name":"pageName3"},{"column":[{"name":"colName1","count":1},{"name":"colName2","count":2}],"name":"pageName4"},{"column":[{"name":"colName1","count":1},{"name":"colName2","count":2}],"name":"pageName5"}],"name":"mybook"}
JSONObject fromString = JSONObject.fromObject(jsonString);
Map map = new HashMap();
map.put("page", Page.class);
Book book_1 = (Book) JSONObject.toBean(fromString, Book.class, map);
JSONObject jsonObj = JSONObject.fromObject(book);
Book b = (Book) jsonObj.toBean(jsonObj, Book.class);