GoでMAPにアンマーシャルする話

GoのMAPって使いやすいけど、たまに混乱するから書いとく

  • []map[string]string{}にUnmarshalするコード
package main

import (
    "fmt"
    "encoding/json"
)

func main() {
    sValue := `[{
        "key": "ice",
        "value": "アイス"
    },
    {
        "key": "cookie",
        "value": "クッキー"
    }
    ]`

    var funny []map[string]interface{}
    err := json.Unmarshal([]byte(sValue), &funny)

    if err != nil {
        err = nil   
    }

    for _, v := range studyCooperationTypes {
        fmt.Println(v["key"])
        fmt.Println(v["value"])
    }   
}