日期:2014-05-16 浏览次数:20315 次
package com.handson.json; import net.sf.json.*; import java.util.*; /** * 将java的数据或对象转变成js可以用的数据或对象(json 服务器端实例) * * @author brj * */ public class JSONTest { /** * 将Java中的数组转变成json中的数组 */ public static void arrayToJson() { String[] kkname = { "CCED", "WPS", "WORD" }; JSONArray jr = JSONArray.fromObject(kkname); System.out.println(jr); System.out.println("========================================="); } /** * 将java的List中存的对象,转换成json中的对象数组 */ public static void listToJson() { List<Book> bklist = new ArrayList<Book>(); bklist.add(new Book("a1", "b", "111")); bklist.add(new Book("a2", "b", "111")); bklist.add(new Book("a3", "精通JAVA", "111")); JSONArray jr = JSONArray.fromObject(bklist); System.out.println(jr); System.out.println("========================================="); } /** * 将json中的对象数组,转变成java中的List */ public static void createJson() { JSONArray jn = JSONArray .fromObject("[{name:'JAVA程序设计',isbn:'885596-99',author:'小东'}," + "{name:'Thinking in Java', isbn:'123456', author:'Bruce'}," + "{name:'VC++', isbn:'7-123-515', author:'Liming'}]"); // 注意上面的字符串中,开头和结尾带 [ 或 ] // List a = (List) JSONArray.toList(jn, Book.class);//这种也可以,只是不推荐使用了 List a = (List) JSONArray.toCollection(jn, Book.class); Book book = null; for (Iterator it = a.iterator(); it.hasNext();) { book = (Book) it.next(); System.out.println(book.getName() + " - " + book.getAuthor() + " - " + book.getName()); } System.out.println("========================================="); } /** * map --> json */ public static void MapToJson() { Map map = new HashMap(); map.put("name", "小裴"); map.put("book", new Book("K语言程序设计", "李", "55588")); map.put("shoBookName", "function(){alert('测试')}"); JSONObject jo = JSONObject.fromObject(map); System.out.println(jo); System.out.println("========================================="); } /** * bean --> json */ public static void beanToJson() { JSONObject jo = JSONObject.fromObject(new Book("1", "3", "ABCd")); System.out.println(jo); System.out.println("========================================="); } /** * json --> bean */ public static void jsonToBean() { JSONObject jo = JSONObject .fromObject("{name:'C++程序设计',isbn:'885596-989',author:'小东'}"); Book book = (Book) JSONObject.toBean(jo, Book.class); System.out.println(book.getAuthor() + "-" + book.getName()); System.out.println("========================================="); } /** * bean --> json */ public static void beanToJson2() { Book book = new Book("isbn-1111", "Thinking in java", "Bruce"); Publisher publisher = new Publisher("1001", "中国机械工业出版社", "北京", "010-111111"); book.setPublisher(publisher); // JSONObject jo = JSONObject.fromObject(book); // //{"author":"Bruce","isbn":"isbn-1111","name":"Thinking in // java","publisher":{"address":"北京","code":"1001","name":"中国机械工业出版社","telephone":"010-111111"}} JSONArray jo = JSONArray.fromObject(book); // [{"author":"Bruce","isbn":"isbn-1111","name":"Thinking // in // java","publisher":{"address":"北京","code":"1001","name":"中国机械工业出版社","telephone":"010-111111"}}] System.out.println(jo); System.out.println("========================================="); } /** * json --> bean */ public static void jsonToBean2() { // String json = "[{'author':'Bruce','isbn':'isbn-1111','name':'Thinking // in // java','publisher':{'address':'北京','code':'1001','name':'中国机械工业出版社','telephone':'010-111111'}}]"; String json = "{'author':'Bruce','isbn':'isbn-1111','name':'Thinking in java','publisher':{'address':'北京','code':'1001','name':'中国机械工业出版社','telephone':'010-111111'}}"; JSONObject jo = JSONObject.fromObject(json); // JSONArray jo = JSONArray.fromObject(json); // List list = (List)jo.toCollection(jo, Book.class); // Book book = (Book)list.get(0); Book book = (Book) JSONObject.toBean(jo, Book.c