Convert between objects and JSON strings using Google's Gson
Need Gson.jar
1.jsonutil.java
Java code
- Package Com.snail.json;
- Import Java.lang.reflect.Type;
- Import Com.google.gson.Gson;
- /**
- * Java object and JSON string Mutual conversion tool class
- * @author Penghuaiyi
- * @date 2013-08-10
- */
- Public Final class Jsonutil {
- Private Jsonutil () {}
- /**
- * Object converted to JSON string
- * @param obj
- * @return
- */
- public static String ToJson (Object obj) {
- Gson Gson = new Gson ();
- return Gson.tojson (obj);
- }
- /**
- * JSON strings are converted to objects
- * @param str
- * @param type
- * @return
- */
- public static <T> T Fromjson (String str, type type) {
- Gson Gson = new Gson ();
- return Gson.fromjson (str, type);
- }
- /**
- * JSON strings are converted to objects
- * @param str
- * @param type
- * @return
- */
- public static <T> T Fromjson (String str, class<t> type) {
- Gson Gson = new Gson ();
- return Gson.fromjson (str, type);
- }
- }
2. Person.java
Java code
- Package Com.snail.json;
- Public class Person {
- private int id;
- private String name;
- public int getId () {
- return ID;
- }
- public void setId (int id) {
- this.id = ID;
- }
- Public String GetName () {
- return name;
- }
- public void SetName (String name) {
- this.name = name;
- }
- }
3. Test.java
Java code
- Package Com.snail.json;
- Import java.util.ArrayList;
- Import Java.util.HashMap;
- Import java.util.List;
- Import Java.util.Map;
- Import Java.util.Map.Entry;
- Import Com.google.gson.reflect.TypeToken;
- Public class Test {
- /**
- * Conversion of General objects
- */
- public static void Objecttojson () {
- Person person = new Person ();
- Person.setid (1);
- Person.setname ("one");
- //javabean Convert to JSON string
- String jsonstr = Jsonutil.tojson (person);
- System.out.println (JSONSTR);
- //json string converted to JavaBean
- Person Newperson = Jsonutil.fromjson (jsonstr, person. Class);
- System.out.println (person = = Newperson);
- System.out.println (Newperson.getid () +"," +newperson.getname ());
- }
- /**
- * Composite structure Data conversion (List)
- */
- public static void Listtojson () {
- Person Person1 = new Person ();
- Person1.setid (1);
- Person1.setname ("one");
- Person Person2 = new Person ();
- Person2.setid (2);
- Person2.setname ("both");
- list<person> list = new arraylist<person> ();
- List.add (Person1);
- List.add (Person2);
- //javabean Convert to JSON string
- String jsonstr = Jsonutil.tojson (list);
- System.out.println (JSONSTR);
- //json strings into JavaBean objects
- List<person> RTN = Jsonutil.fromjson (jsonstr, new typetoken<list<person>> () {}.getType ());
- For (person Person:rtn) {
- System.out.println (Person.getid () +"," +person.getname ());
- }
- }
- /**
- * Composite structure Data conversion (MAP)
- */
- public static void Maptojson () {
- Person Person1 = new Person ();
- Person1.setid (1);
- Person1.setname ("one");
- Person Person2 = new Person ();
- Person2.setid (2);
- Person2.setname ("both");
- map<integer,person> map = new hashmap<integer,person> ();
- Map.put (Person1.getid (), Person1);
- Map.put (Person2.getid (), Person2);
- //javabean Convert to JSON string
- String jsonstr = Jsonutil.tojson (map);
- System.out.println (JSONSTR);
- //json strings into map objects
- Map<integer,person> RTN = Jsonutil.fromjson (jsonstr, new Typetoken<map<integer,person>> () {}. GetType ());
- for (Entry<integer, person> entry:rtn.entrySet ()) {
- Integer key = Entry.getkey ();
- Person Newperson = Entry.getvalue ();
- System.out.println ("key:" +key+"," +newperson.getid () +"," +newperson.getname () ");
- }
- }
- public static void Main (string[] args) {
- Objecttojson ();
- System.out.println ("****************************");
- Listtojson ();
- System.out.println ("****************************");
- Maptojson ();
- }
- }
Convert between objects and JSON strings using Google's Gson