Java对象与Json的相互转换

来源:互联网 发布:c语言rand函数用法 编辑:程序博客网 时间:2024/04/29 06:54

Gson的toJson() ,fromJson()函数使用,和两个函数所要求的参数。

package com.gson.test01;import java.util.List;class PersonInfo {private String name;private int age;PersonInfo(String name, int age) {this.name = name;this.age = age;}public PersonInfo() { }public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}class FriendsBook {private String ownerName;private List<PersonInfo> friendsBook;FriendsBook(String ownerName, List<PersonInfo> friendsBook) {this.ownerName = ownerName;this.friendsBook = friendsBook;}public String getOwnerName() {return ownerName;}public void setOwnerName(String ownerName) {this.ownerName = ownerName;}public List<PersonInfo> getFriendsBook() {return friendsBook;}public void setFriendsBook(List<PersonInfo> friendsBook) {this.friendsBook = friendsBook;}}class PersonBean {private int id;private String name;private int age;PersonBean(int id, String name, int age) {setId(id);setName(name);setAge(age);}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}}
对象转换为Json格式的字符串:

package com.gson.test01;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.google.gson.Gson;/** * Java Object TO JSON String */public class ObjToJson {    private static Gson gson = new Gson();        public static void main(String args[]){ObjToJson service = new ObjToJson();print(service.GetStringToJson());print(service.GetArrayListToJson());print(service.GetHashMapToJson());print(service.GetPersonBeanToJson());print(service.GetFriendsBookToJson());}        public String GetStringToJson(){        String jsonResult = gson.toJson(new String("aaa"));        return jsonResult;    }        public String GetArrayListToJson(){        ArrayList<String> list = new ArrayList<String>();        list.add("aaa");        list.add("bbb");               list.add("ccc");               String jsonResult = gson.toJson(list);        return jsonResult;    }        public String GetHashMapToJson(){        Map<Integer, String> map = new HashMap<Integer, String>();        map.put(1, "aaa");         map.put(2, "bbb");         map.put(3, "ccc");         String jsonResult = gson.toJson(map);        return jsonResult;    }        public String GetPersonBeanToJson(){    PersonBean pbean = new PersonBean(0,"aaa",21);    String jsonResult = gson.toJson(pbean);    return jsonResult;    }        public String GetFriendsBookToJson(){    PersonInfo p0 = new PersonInfo("John",22);    PersonInfo p1 = new PersonInfo("Marry",24);    PersonInfo p2 = new PersonInfo("Hellon",21);    List<PersonInfo> friendsList = new ArrayList<PersonInfo>();    friendsList.add(p0);    friendsList.add(p1);    friendsList.add(p2);    FriendsBook friendsBook = new FriendsBook("OWNER",friendsList);    String jsonResult = gson.toJson(friendsBook);    return jsonResult;    }    private static void print(String jsonResult){    System.out.println(jsonResult);    }    }
最终的结果如下:

"aaa"["aaa","bbb","ccc"]{"1":"aaa","2":"bbb","3":"ccc"}{"id":0,"name":"aaa","age":21}{"ownerName":"OWNER","friendsBook":[{"name":"John","age":22},{"name":"Marry","age":24},{"name":"Hellon","age":21}]}
Json格式的字符串转换为对象:
package com.gson.test01;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;/* * JSON String To Java Object */public class JsonToObj {private static Gson gson = new Gson();public static void main(String args[]){JsonToObj service = new JsonToObj();HashMap<Integer,String> hm = (HashMap<Integer, String>) service.GetJsonToHashMap("{'1':'aaa','2':'bbb','3':'ccc'}");System.out.println(hm.get(1));}public String GetJsonToString(String jsonString){String str = gson.fromJson(jsonString, String.class);return str;}public ArrayList<String> GetJsonToArrayList(String jsonString){ArrayList<String> list = gson.fromJson(jsonString, new TypeToken<ArrayList<String>>(){}.getType());return list;}public Map<Integer, String> GetJsonToHashMap(String jsonString){HashMap<Integer,String> hashMap = gson.fromJson(jsonString, new TypeToken<HashMap<Integer,String>>(){}.getType());return hashMap;}public PersonBean GetJsonToPersonBean(String jsonString){PersonBean personBeanArrayList = gson.fromJson(jsonString, PersonBean.class);return personBeanArrayList;}public FriendsBook GetJsonToFriendsBook(String jsonString){FriendsBook friendsBook = gson.fromJson(jsonString, FriendsBook.class);return friendsBook;}}
运行的结果如下:

aaa



0 0
原创粉丝点击