Java 处理json经常使用代码
2016-02-22 18:53
691 查看
本project代码已上传至资源,如有须要,请自行下载。
package com.michael; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.beanutils.PropertyUtils; import org.junit.Test; public class JsonLibTest { /** * 将数组转换为json对象 */ // @Test public void testArrayToJSON() { boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray = JSONArray.fromObject(boolArray); System.out.println("testArrayToJSON----jsonArray-----" + jsonArray); } /** * 将集合转换为json */ // @Test public void testListToJSON() { List<String> list = new ArrayList<String>(); list.add("first"); list.add("second"); JSONArray jsonArray = JSONArray.fromObject(list); System.out.println("testListToJSON---jsonArray----" + jsonArray); } /** * 将json字符串转换为json对象 */ @Test public void testJsonStrToJSON() { JSONArray jsonArray = JSONArray.fromObject("['json','is','easy']"); System.out.println("testJsonStrToJSON---jsonArray----" + jsonArray); } /** * 将map转换为json对象 */ @Test public void testMapToJSON() { Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1)); map.put("arr", new String[] { "a", "b" }); map.put("func", "function(i){ return this.arr[i]; }"); JSONObject jsonObject = JSONObject.fromObject(map); System.out.println("testJsonStrToJSON---jsonObject----" + jsonObject); } // 将实体类转换为json @Test public void testBeadToJSON() { Car bean = new Car(); bean.setId("001"); bean.setName("hello"); bean.setDate(new Date()); List<Car> cars = new ArrayList<Car>(); cars.add(new Car("AUDI")); cars.add(new Car("BMW")); cars.add(new Car("QQ")); // cars.add(new Person("test")); bean.setCars(cars); JSONObject jsonObject = JSONObject.fromObject(bean); System.out.println("testBeadToJSON---jsonObject----" + jsonObject); } @Test /** * 将json字符串转换为对象 * @throws Exception */ public void testJSONToObject() throws Exception { String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}"; JSONObject jsonObject = JSONObject.fromObject(json); Object bean = JSONObject.toBean(jsonObject); assertEquals(jsonObject.get("name"), PropertyUtils.getProperty(bean, "name")); assertEquals(jsonObject.get("bool"), PropertyUtils.getProperty(bean, "bool")); assertEquals(jsonObject.get("int"), PropertyUtils.getProperty(bean, "int")); assertEquals(jsonObject.get("double"), PropertyUtils.getProperty(bean, "double")); assertEquals(jsonObject.get("func"), PropertyUtils.getProperty(bean, "func")); List arrayList = (List) JSONArray.toCollection(jsonObject .getJSONArray("array")); for (Object object : arrayList) { System.out.println(object); } } }
相关文章推荐
- IE>js打印
- js函数传递两个参数
- extjs里(function(){Ext.onReady(function(){});})();为什么要这么写
- 韩顺平 javascript教学视频_学习笔记23_js事件驱动机制深入理解_js常用事件_js版计算器
- JSPatch在MAC下的使用
- JSON的在javascript中的常用方法
- iClient for JavaScript VectorLayer详细使用指南
- EXTJS4.x以上的版本中没有dolayout这个方法
- Jsoup爬取网页上表格数据
- javascript 性能检测
- js-比较两个日期的大小
- js-字符串转化日期
- js"面向对象"和"继承"的碎碎念
- [LeetCode][JavaScript]Increasing Triplet Subsequence
- JS正则表达式大全
- JavaScript 执行环境及作用域
- JSONHelper
- javascript的回调函数 同步 异步
- js去除重复项
- JSTL标签