2016-10-21 8 views

答えて

4

json.Unmarshal()はどうですか?

s := `["a","b","c"]` 

var arr []string 
if err := json.Unmarshal([]byte(s), &arr); err != nil { 
    fmt.Println("Error:", err) 
} 
fmt.Printf("%q", arr) 

出力(Go Playground上でそれを試してみてください):

["a" "b" "c"] 

しかし、ボンネットの下に反射カンフーの多くを行いjsonそのパッケージを知っている、それはより速くあなた自身を解析書く場合です。一方、パッケージjsonも入力にランダムなホワイトスペースを処理する - この1のようにも改行文字とUnicodeシーケンスを、(それが["a","b","c"]と同等です):

s := `[ "a" , "b" 
,"\u0063" ] ` 
+0

ああ、私は、その文字列がなければならないと思いました{{"" a "、" b "、" c "}} unmarshalを動作させるが、配列はjsonオブジェクト自体である –