golangのjson
ファイルからスライスを読み取るにはどうすればよいですか?golangのjsonファイルからスライスを読み取る
["a","b","c","d"]
私はこれを行うにはioutil.ReadFile
を使用して試してみましたが、これは文字列ではなく、スライスを返します。たとえば、ファイルdata.json
は次のようになります。私のスライスを読むには?
NOTE:あなたが、私は構造体を使用してこれを行っているが、私は、ユーザーがたとえば、この複雑なJSONのもの
golangのjson
ファイルからスライスを読み取るにはどうすればよいですか?golangのjsonファイルからスライスを読み取る
["a","b","c","d"]
私はこれを行うにはioutil.ReadFile
を使用して試してみましたが、これは文字列ではなく、スライスを返します。たとえば、ファイルdata.json
は次のようになります。私のスライスを読むには?
NOTE:あなたが、私は構造体を使用してこれを行っているが、私は、ユーザーがたとえば、この複雑なJSONのもの
を入力する必要がありますする必要はありません括弧{}
用ブラケット[]
をサブすることができ、
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
func main() {
data, err := ioutil.ReadFile("data.json")
if err != nil {
fmt.Println(err)
return
}
fmt.Print("data: ",string(data))
var slice []string
err = json.Unmarshal(data, &slice)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("slice: %q\n",slice)
}
出力:
$ cat data.json
["a","b","c","d"]
$ go run data.go
data: ["a","b","c","d"]
slice: ["a" "b" "c" "d"]
$
もっと効率的なので、ファイルが大きい場合は 'json.NewDecoder'を使って言及してください。 – OneOfOne
それはJSONである必要はありません。私はそれが働くようにしたい:) – XXX
それを修正しました!今はいいですか? – XXX