title: Go convert interface{} to map
body: <p>I'm convert interface{} to map[string]string.</p>
  
  <pre><code>package main
  
  import (
      "encoding/json"
      "fmt"
  )
  
  func main() {
      data := `{"1":"2", "3": "4"}`
      var v interface{}
      json.Unmarshal([]byte(data), &amp;v)
      fmt.Printf("%+v\n", v)
      _, ok := v.(map[string]interface{})
      fmt.Printf("%v\n", ok)
      _, ok = v.(map[string]string)
      fmt.Printf("%v\n", ok)
      _, ok = v.(map[interface{}]interface{})
      fmt.Printf("%v\n", ok)
  }
  </code></pre>
  
  <p>The code is here <a href="https://play.golang.org/p/I_clyMdaGzw" rel="nofollow noreferrer">https://play.golang.org/p/I_clyMdaGzw</a></p>
  
  <p>why map[string]interface{} is ok，but map[string]string, map[interface{}]interface{} not works?</p>