我正在使用一个API,该API对特定字段的响应有时是对象,有时是对象数组。
我创建了一个结构以解组json响应,并且效果很好。但是,在json响应包含对象数组的情况下,解组显然会失败。我该如何处理Go中的这种情况?
Single Response: { "net": { "comment": { "line": { "$": "This space is statically assigned", "@number": "0" } } } } Array Response: { "net": { "comment": { "line": [ { "$": "All abuse issues will only be responded to by the Abuse", "@number": "0" }, { "$": "Team through the contact info found on handle ABUSE223-ARIN", "@number": "1" } ] } } }
我考虑过创建该结构的2个版本,然后以某种方式确定我返回了哪个实例,但这感觉很浪费。我也尝试过将其编组为map [string] instance {},但我有些迷茫,不确定我是否朝正确的方向前进。
任何意见,将不胜感激。
您是否尝试将编组到map [string] interface {}中?
type Net struct{ Comment map[string]interface{} `json:"comment"` }
然后Comment [“ line”]值可能是数组或对象。