2017-05-12 8 views
0

私はJSONを持っている:GolangのネストされたJSONオブジェクトのネストされた配列を解析するにはどうすればよいですか?

{ 
    "data": [ 
     { 
      "id": 1, 
      "values": [ 
       [ 
        { 
         "id": "11", 
         "keys": [ 
          { 
           "id": "111" 
          } 
         ] 
        } 
       ] 
      ] 
     } 
    ] 
} 

私は「データ」で使用する必要がありますどのような種類の構造体の中に、「値」と「キー」を解析したいが、私は知られていない?:

type Value struct { 
    Id string `json:"id"` 
    Keys []Key `json:"keys"` 
} 
type Key struct { 
    Id string `json:"id"` 
} 
type Result struct { 
    Data []Data `json:"data"` 
} 
type Data struct { 
    Id  int  `json:"id"` 
    Values []???? `json:"values"` 
} 

私は何か助けに感謝します。ありがとう。

+0

内部から開始して構造体を別々に作成し、すべての下部構造体を1つの汎用構造体から呼び出します。これは従来のアプローチです。 –

答えて

1

jsonを注意深く見れば、

[][]Value 

、他の二つの配列を表す配列のネストを削除するには、それは次のようになります。これが意図されている場合は、値の型がある配列の配列...

... 
    "values": [ 
        [... 

を持っています。

[]Value 

Runnableを例:https://play.golang.org/p/UUqQR1KSwB

-1
type Basic struct { 
     ID string `json:"id"` 
    } 

    type Inner struct { 
     ID string `json:"id"` 
     Keys []Basic `json:"keys"` 
    } 

    type Middle struct { 
     ID int `json:"id"` 
     Values []Inner `json:"values"` 
    } 

    type Final struct { 
     Data []Middle `json:"data"` 
    } 
関連する問題