JSON を扱った簡単なテストをしたい時などに。
下記サンプルコード。
package main
import (
"encoding/json"
"fmt"
"strings"
)
func main() {
str := `{"id":1,"title":"test","description":"概要です","note":"注意事項です","url":null}`
var res struct {
ID int `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
Note string `json:"note"`
URL string `json:"url"`
}
dec := json.NewDecoder(strings.NewReader(str))
dec.Decode(&res)
fmt.Print(res)// {1 test 概要です 注意事項です }
fmt.Print(res.Title)// test
}
strings.NewReader(s string) を使わないと下記のようなエラーが出る。
cannot use str (type string) as type io.Reader in argument to json.NewDecoder: string does not implement io.Reader (missing Read method)