Skip to content

Instantly share code, notes, and snippets.

@dmikurube
Last active August 29, 2015 14:26
Show Gist options
  • Save dmikurube/58eab3ec9968217a790d to your computer and use it in GitHub Desktop.
Save dmikurube/58eab3ec9968217a790d to your computer and use it in GitHub Desktop.
GSON to Map
import com.google.gson.Gson;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
public class GsonTest {
public static void main(String[] args) {
LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
map.put("attr1", "hoge");
LinkedHashMap<String, Object> innerMap1 = new LinkedHashMap<String, Object>();
innerMap1.put("in1", "foo");
innerMap1.put("in2", 12);
LinkedHashMap<String, Object> innerMap2 = new LinkedHashMap<String, Object>();
innerMap2.put("inin1", "to");
innerMap1.put("in3", innerMap2);
LinkedList<String> innerArray1 = new LinkedList<String>();
innerArray1.add("hya");
innerArray1.add("gya");
innerArray1.add("pya");
map.put("attr2", innerMap1);
innerMap2.put("inin2", innerArray1);
Gson gson = new Gson();
System.out.println(gson.toJson(innerMap1));
System.out.println(gson.toJson(map));
Map obj = gson.fromJson(gson.toJson(map), Map.class);
System.out.println("- - - - -");
System.out.println(obj.getClass());
System.out.println(obj);
System.out.println("- - - - -");
System.out.println(obj.get("attr1").getClass());
System.out.println(obj.get("attr1"));
System.out.println("- - - - -");
System.out.println(obj.get("attr2").getClass());
System.out.println(obj.get("attr2"));
System.out.println("- - - - -");
System.out.println(Map.class.cast(obj.get("attr2")).get("in1").getClass());
System.out.println(Map.class.cast(obj.get("attr2")).get("in1"));
System.out.println("- - - - -");
System.out.println(Map.class.cast(obj.get("attr2")).get("in2").getClass());
System.out.println(Map.class.cast(obj.get("attr2")).get("in2"));
System.out.println("- - - - -");
System.out.println(Map.class.cast(obj.get("attr2")).get("in3").getClass());
System.out.println(Map.class.cast(obj.get("attr2")).get("in3"));
System.out.println("- - - - -");
System.out.println(Map.class.cast(Map.class.cast(obj.get("attr2")).get("in3")).get("inin2").getClass());
System.out.println(Map.class.cast(Map.class.cast(obj.get("attr2")).get("in3")).get("inin2"));
}
}
@dmikurube
Copy link
Author

{"in1":"foo","in2":12,"in3":{"inin1":"to","inin2":["hya","gya","pya"]}}
{"attr1":"hoge","attr2":{"in1":"foo","in2":12,"in3":{"inin1":"to","inin2":["hya","gya","pya"]}}}


class com.google.gson.internal.LinkedTreeMap
{attr1=hoge, attr2={in1=foo, in2=12.0, in3={inin1=to, inin2=[hya, gya, pya]}}}


class java.lang.String
hoge


class com.google.gson.internal.LinkedTreeMap
{in1=foo, in2=12.0, in3={inin1=to, inin2=[hya, gya, pya]}}


class java.lang.String
foo


class java.lang.Double
12.0


class com.google.gson.internal.LinkedTreeMap
{inin1=to, inin2=[hya, gya, pya]}


class java.util.ArrayList
[hya, gya, pya]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment