title: How to parse a complicated JSON with Go unmarshal?
body: <p>In <code>go</code> the standard package <a href="https://golang.org/pkg/encoding/json/" rel="noreferrer">encoding/json</a> exposes <code>json.Unmarshal</code> function to parse JSON.</p>
  
  <p>It's possible to either unmarshal the JSON string in a predefined <code>struct</code>, or use the <code>interface{}</code> and iterate the result for unexpected JSON data structure.</p>
  
  <p>That said, I can't parse complex JSON properly. Can someone tell me how to achieve this?</p>
  
  <pre><code> {
       "k1" : "v1", 
       "k2" : "v2", 
       "k3" : 10, 
       "result" : [
                   [
                   ["v4", v5, {"k11" : "v11", "k22" : "v22"}]
                   , ... , 
                   ["v4", v5, {"k33" : "v33", "k44" : "v44"}
                   ]
                   ], 
                   "v3"
                  ] 
  }
  </code></pre>