実現したいこと
やりたいことは、標準入力で読み込んだJSONの値を取得したいだけなのですが、スライスが含まれている場合の取り出し方が分かりません。
$ echo '{"sli":["a", "b"]}' | go run main.go panic: interface conversion: interface {} is []interface {}, not []string
Go
1package main 2 3import ( 4 "encoding/json" 5 "fmt" 6 "log" 7 "os" 8) 9 10func main() { 11 12 dec := json.NewDecoder(os.Stdin) // Decoder 13 for { 14 var v map[string]interface{} 15 if err := dec.Decode(&v); err != nil { 16 log.Println(err) 17 return 18 } 19 20 sli := v["sli"].([]string) 21 fmt.Println(sli) 22 } 23}
どうやらインターフェイスにスライスを当てはめることができない様で、いろいろ調べてみたんですが、行き詰まってしまいました。よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/08/07 08:40