json-lib的一些运用
json-lib的一些应用
package com.yt.manager.json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.stereotype.Component; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * @Description:将对象转化为json格式 * @ClassName: JsonTest * @Project: base-info * @Author: zxf * @Date: 2011-6-14 */ @Component public class JsonTest { /** * 把单个实体Bean转化为JSON格式 * @return JSONObject */ public JSONObject objectToJson() { Student student = new Student(); student.setAge(18); student.setName("zhangsan"); student.setSex("male"); return JSONObject.fromObject(student); } /** * 把实体Bean数组转化成JSONArray对象 * @return JSON格式的字符串 */ public String arrayToJson() { Student stu = null; List<Student> stuList = new ArrayList<Student>(); for (int i = 0; i < 5; i++) { stu = new Student(); stu.setId(i + 1 + ""); stu.setAge(i * 10 + 8); stu.setName("张三" + i); stu.setSex("和"); stuList.add(stu); } JSONArray jsonArray = JSONArray.fromObject(stuList); return jsonArray.toString(); } /** * 把实体Bean数组转化成JSONArray对象 * @return JSONArray */ public JSONArray arrayToJson2() { Student stu = null; List<Student> stuList = new ArrayList<Student>(); for (int i = 0; i < 5; i++) { stu = new Student(); stu.setId(i + 1 + ""); stu.setAge(i * 10 + 8); stu.setName("张三" + i); stu.setSex("和"); stuList.add(stu); } return JSONArray.fromObject(stuList); } /** * 多维JSON格式数组 * * @return JSON格式的字符串 */ public String array2ToJson() { Student stu = null; List<Student> stuList = new ArrayList<Student>(); for (int i = 0; i < 5; i++) { stu = new Student(); stu.setId(i + 1 + ""); stu.setAge(i * 10 + 8); stu.setName("张三" + i); stu.setSex("和"); stuList.add(stu); } Map<String, Object> map = new HashMap<String, Object>(); map.put("list", stuList); map.put("count", "10"); return JSONObject.fromObject(map).toString(); } /** * 多维JSON格式数组 * * @return JSONObject */ public JSONObject array2ToJson2() { Student stu = null; List<Student> stuList = new ArrayList<Student>(); for (int i = 0; i < 5; i++) { stu = new Student(); stu.setId(i + 1 + ""); stu.setAge(i * 10 + 8); stu.setName("张三" + i); stu.setSex("和"); stuList.add(stu); } Map<String, Object> map = new HashMap<String, Object>(); map.put("list", stuList); map.put("count", "10"); return JSONObject.fromObject(map); } /** * @param args */ public static void main(String[] args) { JsonTest t = new JsonTest(); t.arrayToJson(); } }
package com.yt.manager.json.controller; import javax.annotation.Resource; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import com.yt.manager.json.JsonTest; /** * @Description:获取json格式的内容request到页面 * @ClassName: JsonController * @Project: base-info * @Author: zxf * @Date: 2011-6-15 */ @Controller @RequestMapping("/json") public class JsonController { Logger log = Logger.getLogger(JsonController.class); @Resource JsonTest jsonTest; /** * 调用了一个返回Json数组格式的字符串,需要将字符串转化为JSONArray格式的数组,才能put到页面 * @param map * @return */ @RequestMapping(value = "arrayToJson") public String arrayToJson(ModelMap map) { String jsonStr = jsonTest.arrayToJson(); log.info("数据:" + jsonStr); map.put("json", JSONArray.fromObject(jsonStr)); return "json/arrayToJson"; } /** * 调用了一个返回JSONArray对象的数组,不需要任何转化即可put到页面 * @param map * @return */ @RequestMapping(value = "arrayToJson2") public String arrayToJson2(ModelMap map) { map.put("json", jsonTest.arrayToJson2()); return "json/arrayToJson"; } /** * 调用返回JSON格式的字符串的方法,如要返回到页面, 需要将字符串重新转化为JSONObject对象 * * @param map * @return */ @RequestMapping(value = "array2ToJson") public String array2ToJson(ModelMap map) { String jsonStr = jsonTest.array2ToJson(); log.info("数据:" + jsonStr); map.put("json", JSONObject.fromObject(jsonStr)); return "json/array2ToJson"; } /** * 调用直接返回JSONObject的方法,直接put到页面即可 * * @param map * @return */ @RequestMapping(value = "array2ToJson2") public String array2ToJson2(ModelMap map) { map.put("json", jsonTest.array2ToJson2()); return "json/array2ToJson"; } /** * 返回单个JSONObject对象,本方法直接调用了一个返回单个JSONObject对象的方法, * 该JSONObject对象中只放了一个实体bean方法 * * @param map * @return */ @RequestMapping(value = "objectToJson") public String objectToJson(ModelMap map) { JSONObject jsonObject = jsonTest.objectToJson(); log.info("对象:" + jsonObject); map.put("json", jsonObject); return "json/objectToJson"; } }
package com.yt.manager.json; /** * @Description: * @ClassName: Student * @Project: base-info * @Author: zxf * @Date: 2011-6-14 */ public class Student { public String id; public int age; public String name; public String sex; public String getId() { return id; } public void setId(String id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }