Today I will give an example of using GSON to Serialization and Deserialization JSON in JAVA
When we work with JSON, there are some tasks we usually do,
- Parse Object to JSON and vice versa
- Parse Collection to JSON and vice versa
- And sometime we need to create an JSON object with dynamic field, In my example I used Map to do it.We also need to Deserialization and JSON object with dynamic field to Java Object
Here is some code example:
package com.blogspot.ducnguyen.dev.json.example; import com.google.gson.Gson; import java.awt.Point; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * * @author ducnguyen */ public class Main { private static Gson gson = new Gson(); public static void main(String[] args) { System.out.println("Serialization and Deserialization an OBJECT"); Point p1 = new Point(2, 1); String json1 = gson.toJson(p1); System.out.println("p1 -> json1 : " + json1); Point p2 = gson.fromJson(json1, Point.class); System.out.println("json1 -> p2 : " + p2.toString()); System.out.println("Serialization and Deserialization a LIST"); Listl1 = Arrays.asList(new Point(2, 1), new Point(3, 4)); String json2 = gson.toJson(l1); System.out.println("l1 -> json2 : " + json1); List l2 = gson.fromJson(json2, List.class); System.out.println("json2 -> l2 : " + l2.toString()); System.out.println("Create object fields with MAP"); Map jsonObject = new HashMap<>(); jsonObject.put("integer", 100); jsonObject.put("string", "hello world"); jsonObject.put("boolean", Boolean.TRUE); String json3 = gson.toJson(jsonObject); System.out.println("jsonObject -> json3 : " + json3); System.out.println("Deserialization MAP"); Map jsonObject2 = gson.fromJson(json3, Map.class); System.out.println("json3 -> jsonObject2 : "+ jsonObject2.toString()); } }
Here is output of the code:
Serialization and Deserialization an OBJECT p1 -> json1 : {"x":2,"y":1} json1 -> p2 : java.awt.Point[x=2,y=1] Serialization and Deserialization a LIST l1 -> json2 : {"x":2,"y":1} json2 -> l2 : [{x=2.0, y=1.0}, {x=3.0, y=4.0}] Create object fields with MAP jsonObject -> json3 : {"integer":100,"string":"hello world","boolean":true} Deserialization MAP json3 -> jsonObject2 : {integer=100.0, string=hello world, boolean=true}
You can download source code here
No comments:
Post a Comment