2016-03-20 12 views
0

Wie lese ich ein Stück aus einer json Datei in Golang? Zum Beispiel sieht die Datei data.json wie folgt aus:Ein Stück aus einer JSON-Datei in Golang lesen

["a","b","c","d"]

ich versucht habe ioutil.ReadFile mit, dies zu tun, aber das gibt einen String, kein Stück. Wie kann ich meine Scheibe lesen?
HINWEIS: Sie können sub die Klammern [] für Klammern {}
ich dies mit structs getan haben, aber ich möchte nicht den Benutzer Zeug diese komplizierte json

+0

Es muss nicht json sein. Ich will nur, dass es funktioniert :) – XXX

+0

Fixed it! Ist es jetzt gut? – XXX

Antwort

4

Zum Beispiel haben eingeben,

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) 
} 

Ausgang:

$ cat data.json 
["a","b","c","d"] 
$ go run data.go 
data: ["a","b","c","d"] 
slice: ["a" "b" "c" "d"] 
$ 
+1

Sie sollten wahrscheinlich 'json.NewDecoder' erwähnen, wenn die Datei groß ist, da sie effizienter wäre. – OneOfOne

Verwandte Themen