title: Parse json use JsonOjbect vs map into entity with GSon
body: <p>I'm looking for the right way to parse json use GSon library. Up to now, I have known 2 ways to do this:<br>
  Assume I have a json string like this:</p>
  
  <pre><code> {
     'Events' : [{
         'name' : 'exp',
         'date' : '10-10-2010',
         'tags' : ["tag 1", "tag2", "tag3"]
      },...more events...],
         'Contacts' : [{
         'name' : 'John Smith',
         'date' : '10-10-2010',
         'tags' : ["tag 1", "tag2", "tag3"]
      },...more contacts...],
   }
  </code></pre>
  
  <ol>
  <li><p>Use JSonOjbect to get field by its name:<br></p>
  
  <pre><code>JsonElement jelement = new JsonParser().parse(jsonLine);
  JsonObject  jobject = jelement.getAsJsonObject();
  jobject = jobject.getAsJsonArray("Events");
  JsonArray jarray = jobject.getAsJsonArray("Contacts");
  jobject = jarray.get(0).getAsJsonObject();
  </code></pre></li>
  <li><p>Use GSon to map into entity</p>
  
  <pre><code>public class Container{
     List&lt;Event&gt; Events;
      List&lt;Contact&gt; Contacts;
  }
  
  Container c = new GSon().fromJSon(jsonString,Container.class);
  </code></pre></li>
  </ol>
  
  <p>Could you tell me when I should use the first way or the second?<br>
  I have a web service could return many kinds of complex json string, and I need get data from this. What should I do?</p>