2017-02-06 2 views
0

Ich versuche zu analysieren JSON-Daten enthalten Integer-Array. Aber ich kann kein Integer-Array bekommen.Wie kann ich [] int JSON-Daten in Go analysieren?

package main 
import (
    "encoding/json" 
    "fmt" 
) 

type Anything struct { 
    A []int `json:"a"` 
} 

func main() { 
    s := "{a:[1,2,3]}" 

    var a Anything 
    json.Unmarshal([]byte(s), &a) 
    fmt.Println(a.A) 
} 

Ich habe leere Array.

[] 

Wie kann ich [1, 2, 3] bekommen?

Antwort

1

Sie haben eine ungültige JSON. Sie sollten es ersetzen, zum Beispiel so: s := [{"a":[1,2,3]}] oder vielleicht so s := "[{\"a\":[1,2,3]}]".

Sie Ihren Code so etwas wie diese bearbeiten können:

package main 

import (
    "encoding/json" 
    "fmt" 
) 


type Anything struct { 
    A []int `json:"a"` 
} 


func main() { 
    // note here: `[{"a":[1,2,3]}]` 
    // or: s := "[{\"a\":[1,2,3]}]" 
    s := `[{"a":[1,2,3]}]` 

    var a []Anything 
    json.Unmarshal([]byte(s), &a) 
    fmt.Println(a) 
} 

Ausgang:

[{[1 2 3]}] 

Sie es auf https://play.golang.org/p/H4GupGFpfP

laufen kann
Verwandte Themen