1+ package com .hmkcode ;
2+
3+ import java .lang .reflect .Type ;
4+ import java .util .LinkedList ;
5+ import java .util .List ;
6+
7+ import com .google .gson .Gson ;
8+ import com .google .gson .reflect .TypeToken ;
9+ import com .hmkcode .vo .Article ;
10+
11+
12+ public class App
13+ {
14+ public static void main ( String [] args )
15+ {
16+ Gson gson = new Gson ();
17+
18+
19+ List <Article > articles = new LinkedList <Article >();
20+
21+ articles .add (createArticle ());
22+ articles .add (createArticle ());
23+
24+ // Java --> JSON
25+ String json = gson .toJson (articles );
26+ System .out .println ("toJson: " +json );
27+
28+
29+ // JSON --> Java
30+ List list = gson .fromJson (json , List .class );
31+ System .out .println ("fromJson: " +list );
32+ System .out .println ("Class Type: " +list .get (0 ).getClass ());
33+
34+ // JSON --> Java "Get the actual type"
35+ Type type = new TypeToken <List <Article >>(){}.getType ();
36+ list = gson .fromJson (json , type );
37+ System .out .println ("fromJson: " +list );
38+ System .out .println ("Class Type: " +list .get (0 ).getClass ());
39+
40+
41+ }
42+ private static Article createArticle (){
43+
44+ Article article = new Article ();
45+
46+ article .setTitle ("GSON - Java JSON Library" );
47+ article .setUrl ("http://hmkcode.com/gson-json-java" );
48+ article .addCategory ("Java" );
49+ article .addTag ("Java" );
50+ article .addTag ("GSON" );
51+ article .addTag ("JSON" );
52+
53+ return article ;
54+ }
55+ }
0 commit comments