2016-08-02 12 views
1

json.Decoderを使って最上位のJSON配列をデコードすることは可能ですか?gsonのjson.Decoderを使ったトップレベルJSON配列のデコード

この場合、JSONとjson.Unmarshall全体を読み取るだけですか?

私はvar r interface{}の使用注意が推奨されていない、あなたのようにあなたのJSONの構造を定義する必要がありthis questionに受け入れ答えを読んでいると、トップレベルのJSON配列

答えて

4

他のjsonと同じようにjson.Decoderを使用します。違いは、構造体にデコードする代わりに、構造体の配列でjsonをデコードする必要があることだけです。これは非常に簡単な例です。 Go Playground

package main 

import (
    "bytes" 
    "encoding/json" 
    "fmt" 
) 

type Result struct { 
    Name   string `jaon:"Name"` 
    Age   int `json:"Age` 
    OriginalName string `json:"Original_Name"` 
} 

func main() { 
    jsonString := `[{"Name":"Jame","Age":6,"Original_Name":"Jameson"}]` 
    result := make([]Result, 0) 
    decoder := json.NewDecoder(bytes.NewBufferString(jsonString)) 
    err := decoder.Decode(&result) 
    if err != nil { 
     panic(err) 
    } 
    fmt.Println(result) 
} 
+0

ありがとうございます。 – Rustam

+0

@Rustamをお手伝いします –

関連する問題