admin 管理员组

文章数量: 1086950

Java对象与json转换

说明:本文章只写一些简单案例,并没有做过多说明。

案例为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、JSONObjectJSONObject mapObject=JSONObject.fromObject(map);System.out.println("mapObject"+mapObject.toString());//2、JSONArrayJSONArray mapArray=JSONArray.fromObject(map);System.out.println("mapArray:"+mapArray.toString());}}

总结一点点。。。。。。。。。。。。

本文标签: Java对象与json转换