我输入的json数据是此数据(无法从外部资源更改):
[{
"Url": "test.url",
"Name": "testname"
},{
"FormName": "Test - 2018",
"FormNumber": 43,
"FormSlug": "test-2018"
}]
我有两个结构将始终匹配数组中的数据:
type UrlData struct{
"Url" string `json:Url`
"Name" string `json:Name`
}
type FormData struct{
"FormName" string `json:FormName`
"FormNumber" string `json:FormNumber`
"FormSlug" string `json:FormSlug`
}
显然,下面的代码不起作用,但是有可能在顶层(或其他方面)声明类似以下内容的代码:
type ParallelData [
urlData UrlData
formData FormData
]
使用两步过程进行编组。首先,解组一个任意JSON的列表,然后将该列表的第一个和第二个元素解组为各自的类型。
您可以在名为UnmarshalJSON的方法中实现该逻辑,从而实现json.Unmarshaler接口。这将为您提供您要寻找的化合物类型:
type ParallelData struct {
UrlData UrlData
FormData FormData
}
// UnmarshalJSON implements json.Unmarshaler.
func (p *ParallelData) UnmarshalJSON(b []byte) error {
var records []json.RawMessage
if err := json.Unmarshal(b, &records); err != nil {
return err
}
if len(records) < 2 {
return errors.New("short JSON array")
}
if err := json.Unmarshal(records[0], &p.UrlData); err != nil {
return err
}
if err := json.Unmarshal(records[1], &p.FormData); err != nil {
return err
}
return nil
}
在操场上尝试:https :
//play.golang.org/p/QMn_rbJj-P-
我试图解决这个问题。 给出了一个整数M和一个由N个非负整数组成的非空零索引数组A。数组A中的所有整数都小于或等于M。 一对整数(P,Q),使得0≤ P≤ Q 例如,考虑整数M=6和数组A,这样: 正好有九个不同的切片:(0, 0), (0, 1), (0, 2), (1, 1), (1,2), (2, 2), (3, 3), (3, 4)和(4,4)。 目标是计算不同切片的数量。 提前感谢。
我在MySQL/MariaDB中有两个不同的表,它们有关于计算机系统的不同数据。computer_name有一个公共字段,但同一台计算机的字段内容可能不同。在表A中,computer_name可以是'hostname',而在表B中,computer_name可以是'hostname@dom1.domain'。我需要查看表A中的col1、col2、col3和表B中的col5、col6、col7,其中
问题内容: 我想有一个通用的方法,无论它是作为指针,切片还是数组提供的,都将始终返回结构值。 我对此的处理方式如下: 去游乐场 如您所见,问题出在从a 或。中获取结构。 我如何扩展上面的函数以从数组或切片中获取struct的值? 更新:我要做的就是将变成。 问题答案: 如果你只是想要的类型,即使片是零,你可以使用像这样: 关于,来自http://golang.org/pkg/reflect/#Ty
问题内容: 我有以下代码在PDF内绘制垂直条形图和折线图。 如何将这2个图形保存在PDF的2个不同页面中。我看到可以使用- 但是,不是使用Canvas,而是使用其中 不存在方法的Drawing对象。 如何将2个图形保存在PDF的2个不同页面中?第二个图形(折线图)的右边与第一个图形(垂直条形图)重叠,从而阻碍了该条形图。 这是我的 代码。 问题答案: 制作画布并在其上渲染图形: 希望能帮助到你 :
我是android开发的新手,请多多包涵。我有三个片段-Frag1、Frag2和frag3。Frag1是一种ListView,有一个项目列表,该列表是在应用程序启动时创建的。Frag2和Frag3基本上对应于视频视图,它将用于从不同的播放器播放不同的视频。其中一个将播放内容视频,另一个将播放广告视频。 当我点击Frag1中的一个特定项时,我希望同时创建Frag2和frag3。我想有两个片段,因为我
问题内容: 我有一个像这样的数组: 从仅具有“ a”的前两列的数组中切出1x2数组的最有效方法是什么? 即 问题答案: 二维numpy数组使用(not )索引,但是您可以对numpy数组和矩阵使用与在python中的普通矩阵相同的切片表示法(只需将它们放在单个):