I am trying to parse a json from a third party software. It returns a json like this

{ 
   "top1/dir1": "10",
   "top1/dir2": "20",
   "top1/dir3": "30",
   "top2/diff_val1": "40"
}

JSONLint says this is a valid json. But I could not figure how I can parse this with golang.

The code I used to parse the json file above (to be clear I took the code from another stackoverflow post).

package main

import (
        "encoding/json"
        "fmt"
        "io/ioutil"
        "log"
)

type mytype []map[string]string

func main() {
        var data mytype
        file, err := ioutil.ReadFile("t1.json")
        if err != nil {
                log.Fatal(err)
        }
        err = json.Unmarshal(file, &data)
        if err != nil {
                log.Fatal(err)
        }
        fmt.Println(data)
}

When I do a go run main.go, I get the below error

$ go run main.go 2016/06/19 22:53:57 json: cannot unmarshal object into Go value of type main.mytype exit status 1

I did try to parse this format with another library - "github.com/Jeffail/gabs", but was unsuccessful. Since this is a valid json, I am pretty sure this can be parsed, but I am not sure how.