版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
说明:本文章只写一些简单案例,并没有做过多说明。
案例为maven案例,pom.xml引入依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.7.0</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>1.0.3</version> </dependency>
接下来,开始
package one.model; public class Students { private String name; private String sex; private Integer age; //未节省空间,这里的get set方法就不写了,粘贴代码的时候记得加上。 }
下面main方法中去掉注释可以运行制定的方法:
package one.mains; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import one.model.Students; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class JsonDemo { public static void main(String [] arg){ /*******************************************************/ //strToJson();//Java字符串 转 json字符串 /*******************************************************/ //jsonToStr();//json字符串 转 Java字符串 /*******************************************************/ //newsToStr();//将Java对象 转 json字符串 /*******************************************************/ //jsonToNews();//将json字符串 转 Java对象 /*******************************************************/ //jsonToArray();//将json字符串 转 对象数组(集合) /*******************************************************/ //arrayToJson();//将数组(集合) 转 json字符串 /*******************************************************/ //jsonToMapOne();//将json字符串 转 map<Object,Object> /*******************************************************/ //mapToJsonOne();//将map<String,Object> 转 json字符串 /*******************************************************/ //jsonToMapTwo();//将json字符串 转 map<String,Students> /*******************************************************/ //mapToJsonTwo();//将map<String,Students> 转 json字符串 } //将json字符串转成Java字符串 public static void jsonToStr(){ String s ="{\"name\":\"zhangsan\",\"sex\":\"nv\",\"age\":8}"; JSONObject json = JSONObject.fromObject(s); System.out.println(json.toString()); } //将Java字符串转成json字符串 public static void strToJson(){ String json = "{'name':'xiaosan'}"; JSONObject jsonObj = JSONObject.fromObject(json); String name = jsonObj.getString("name"); System.out.print(name); } //将Java对象转成json字符串 public static void newsToStr(){ Students students = new Students(); students.setName("hehe"); students.setSex("nan"); students.setAge(10); String str = JSON.toJSONString(students); System.out.print(str); } //将json字符串转成Java对象 public static void jsonToNews(){ String s ="{\"name\":\"zhangsan\",\"sex\":\"nv\",\"age\":8}"; //方法一 Students studentA = JSON.parseObject(s, Students.class); System.out.println(studentA.getName()); //方法二 Students studentB = JSON.parseObject(s, new TypeReference<Students>() {}); System.out.println(studentB.getSex()); //方法三 JSONObject jsonObject=JSONObject.fromObject(s); Students studentC=(Students)JSONObject.toBean(jsonObject, Students.class); System.out.println(studentC.getAge()); } //将json字符串转成对象数组(集合) public static void jsonToArray() { String array="[{\"name\":\"xiaohong\",\"age\":23},{\"name\":\"xiaowang\",\"age\":24}]"; //转为集合 JSONArray jsonarray = JSONArray.fromObject(array); Object object = jsonarray.get(0); JSONObject jsonObject=JSONObject.fromObject(object); Students students=(Students)JSONObject.toBean(jsonObject,Students.class); System.out.println(students.getName()); //转化为数组 Students[] ss =(Students[])JSONArray.toArray(JSONArray.fromObject(array),Students.class); for (Students student : ss) { System.out.println(student.getAge()); } } //将数组(集合)转成json字符串 public static void arrayToJson() { List<Students> list = new ArrayList<Students>(); Students studentsA = new Students(); studentsA.setName("hello"); studentsA.setSex("nan"); studentsA.setAge(18); list.add(studentsA); Students studentsB = new Students(); studentsB.setName("world"); studentsB.setSex("nv"); studentsB.setAge(18); list.add(studentsB); JSONArray listArray=JSONArray.fromObject(list); System.out.println("listArray:"+listArray.toString()); } //将json字符串转成map<Object,Object> public static void jsonToMapOne(){ String str = "{\"0\":\"wangchao\",\"1\":\"mahan\",\"2\":\"zhanglong\",\"3\":\"zhaohu\"}"; //方法一 Map maps = (Map)JSON.parse(str); System.out.println("这个是用JSON类来解析JSON字符串!!!"); for (Object map : maps.entrySet()){ System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue()); } System.out.println("-------------------------------------------"); //方法二 Map mapTypes = JSON.parseObject(str); System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); for (Object obj : mapTypes.keySet()){ System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj)); } System.out.println("-------------------------------------------"); //方法三 Map mapType = JSON.parseObject(str,Map.class); System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!"); for (Object obj : mapType.keySet()){ System.out.println("key为:"+obj+"值为:"+mapType.get(obj)); } } //将map<Object,Object>转成json字符串 public static void mapToJsonOne() { Map map = new HashMap(); map.put("success", "10"); map.put("error", "20"); JSONObject json = JSONObject.fromObject(map); //JSONObject json =new JSONObject(map); System.out.println(json); System.out.println(json.toString()); } //将json字符串转成map<String,Students> public static void jsonToMapTwo() { String mapStr="{\"0\":{\"name\":\"xiaohong\",\"age\":23},\"1\":{\"name\":\"xiaowang\",\"age\":24}}"; Map<String,Students> maps = JSON.parseObject(mapStr, new TypeReference<Map<String,Students>>(){}); System.out.println(maps.get("0").getName()); } //将map<String,Students>转成json字符串 public static void mapToJsonTwo() { Students students=new Students(); students.setName("JSON"); students.setAge(23); students.setSex("nv"); Map<String,Students> map=new HashMap<String,Students>(); map.put("first", students); //1、JSONObject JSONObject mapObject=JSONObject.fromObject(map); System.out.println("mapObject"+mapObject.toString()); //2、JSONArray JSONArray mapArray=JSONArray.fromObject(map); System.out.println("mapArray:"+mapArray.toString()); } }
总结一点点。。。。。。。。。。。。