title: Parse Json into Java Object
body: <p>I've very less experience with Json and I've to parse a complex Json to Java Objects.</p>
  
  <p>I've tried several approaches without success... I'm getting a weather forecast for my city in Json format and I need to parse that Json  data into Java Objects.</p>
  
  <p>The Json:</p>
  
  <pre><code>{"city":
   {"city_code":"ATAT10678",
    "name":"Wien",
    "url":"oesterreich/wien/ATAT10678.html",
    "credit":{"info":"In order to use the free weather data from wetter.com you HAVE TO display at least two out of three of the following possibilities: text, link, logo",
    "text":"Powered by wetter.com","link":"http://www.wetter.com",
    "logo":"Download at http://www.wetter.com/api/downloads/#logos"},
    "forecast":{
     "2014-08-24":{
      "w":"1",
      "tx":"20",
      "pc":"30",
      "06:00":{
       "w":"2",
       "tx":"16",
       "pc":"30",
       "tn":"15",
       "p":"5",
       "dhl":"2014-08-24 06:00",
       "ws":"19",
       "w_txt":"wolkig"},
      "11:00":{
       "w":"2",
       "tx":"18",
       "pc":"30",
       "tn":"16",
       "p":"6",
       "dhl":"2014-08-24 11:00",
       "ws":"20",
       "w_txt":"wolkig"},
      "17:00":{
       "w":"1",
       "tx":"20",
       "pc":"20",
       "tn":"16",
       "p":"6",
       "dhl":"2014-08-24 17:00",
       "ws":"12",
       "w_txt":"leicht bewölkt"},
      "23:00":{
       "w":"1",
       "tx":"16",
       "pc":"10",
       "tn":"13",
       "p":"6",
       "dhl":"2014-08-24 23:00",
       "ws":"7",
       "w_txt":"leicht bewölkt"},
      "tn":"15",
      "p":"24",
      "dhl":"2014-08-24 06:00",
      "ws":"14",
      "w_txt":"leicht bewölkt"},
     "2014-08-25":{"w":"2","tx":"22","pc":"30","06:00":{"w":"2","tx":"17","pc":"20","tn":"12","p":"5","dhl":"2014-08-25 06:00","ws":"5","w_txt":"wolkig"},"11:00":{"w":"2","tx":"21","pc":"30","tn":"17","p":"6","dhl":"2014-08-25 11:00","ws":"10","w_txt":"wolkig"},"17:00":{"w":"2","tx":"22","pc":"30","tn":"18","p":"6","dhl":"2014-08-25 17:00","ws":"11","w_txt":"wolkig"},"23:00":{"w":"3","tx":"18","pc":"30","tn":"16","p":"6","dhl":"2014-08-25 23:00","ws":"6","w_txt":"bedeckt"},"tn":"12","p":"24","dhl":"2014-08-25 06:00","ws":"8","w_txt":"wolkig"},"2014-08-26":{"w":"3","tx":"22","pc":"75","06:00":{"w":"3","tx":"17","pc":"75","tn":"15","p":"5","dhl":"2014-08-26 06:00","ws":"6","w_txt":"bedeckt"},"11:00":{"w":"61","tx":"21","pc":"75","tn":"17","p":"6","dhl":"2014-08-26 11:00","ws":"9","w_txt":"leichter Regen"},"17:00":{"w":"61","tx":"22","pc":"75","tn":"18","p":"6","dhl":"2014-08-26 17:00","ws":"9","w_txt":"leichter Regen"},"23:00":{"w":"3","tx":"18","pc":"75","tn":"17","p":"6","dhl":"2014-08-26 23:00","ws":"9","w_txt":"bedeckt"},"tn":"15","p":"24","dhl":"2014-08-26 06:00","ws":"8","w_txt":"bedeckt"}}}}
  </code></pre>
  
  <p>I've no idea how I can parse this to objects..</p>
  
  <p>Many thanks for the advices!</p>
  
  <p>Here is my first trial..</p>
  
  <pre><code>        Gson gson = new Gson();
          JsonObject jsonObj = gson.fromJson(br, JsonObject.class);
          Map&lt;String, LinkedTreeMap&gt; map = new HashMap&lt;String, LinkedTreeMap&gt;();
          map = (Map&lt;String, LinkedTreeMap&gt;) gson.fromJson(jsonObj.toString(), map.getClass());
  
          LinkedTreeMap&lt;String, LinkedTreeMap&gt; tmp = new LinkedTreeMap&lt;&gt;();
          tmp = map.get("city");
  
          for(Map.Entry&lt;String, LinkedTreeMap&gt; e : tmp.entrySet()) {
              System.out.println("k: " + e.getKey());
          }
  
          LinkedTreeMap&lt;String, LinkedTreeMap&gt; tmp1 = new LinkedTreeMap&lt;&gt;();
          tmp1 = tmp.get("forecast");
  
          for(Map.Entry&lt;String, LinkedTreeMap&gt; e : tmp1.entrySet()) {
              System.out.println("k: " + e.getKey());
              LinkedTreeMap&lt;String, LinkedTreeMap&gt; values = e.getValue();
              for(Map.Entry&lt;String, LinkedTreeMap&gt; v : values.entrySet()) {
  
                  System.out.println("k: " + v.getKey() + " v: " + v.getValue());
              }
  
          }
  </code></pre>
  
  <p>and the output for one day:</p>
  
  <pre><code>k: city_code
  k: name
  k: url
  k: credit
  k: forecast
  k: 2014-08-25
  k: w v: 2
  k: tx v: 23
  k: pc v: 90
  k: 06:00 v: {w=2, tx=17, pc=20, tn=13, p=5, dhl=2014-08-25 06:00, ws=5, w_txt=wolkig}
  k: 11:00 v: {w=2, tx=21, pc=20, tn=17, p=6, dhl=2014-08-25 11:00, ws=9, w_txt=wolkig}
  k: 17:00 v: {w=2, tx=23, pc=30, tn=17, p=6, dhl=2014-08-25 17:00, ws=11, w_txt=wolkig}
  k: 23:00 v: {w=3, tx=17, pc=90, tn=16, p=6, dhl=2014-08-25 23:00, ws=6, w_txt=bedeckt}
  k: tn v: 13
  k: p v: 24
  k: dhl v: 2014-08-25 06:00
  k: ws v: 8
  k: w_txt v: wolkig
  </code></pre>
  
  <p>so far so good but how I get the 06:00, 11:00, 17:00 and 23:00 (generic because the time can be changed) because this are the informations I need?</p>
  
  <p>Thanks a lot and BR
  typhon</p>