json - 如何在 golang 中键入混合类型的数组?
问题描述
我正在写一张我需要转换为 JSON 的地图,其中一个必需的值是一个混合类型的数组。
var models = map[string]interface{} {
...
"req": [[0, "all", [0]]],
...
}
有没有办法为这个嵌套数组分配一个类型?或者有没有比地图更好的方法来创建这个 JSON?
编辑:我想越来越近了,不确定如何处理嵌套数组
var models = map[string]interface{} {
...
"req": []interface{}{[[0, "all", [0]]]},
...
}
编辑:我要创建的整个 JSON,我只是停留在“req”键上,但是因为它被请求了:
{
1388596687391: {
veArs: [],
name: 'Basic-f15d2',
tags: ['Tag'],
did: 1435588830424,
usn: -1,
req: [[0, 'all', [0]]],
flds: [
{
name: 'Front',
media: [],
sticky: false,
rtl: false,
ord: 0,
font: 'Arial',
size: 20
},
{
name: 'Back',
media: [],
sticky: false,
rtl: false,
ord: 1,
font: 'Arial',
size: 20
}
],
sortf: 0,
latexPre:
'\\documentclass[12pt]{article}\n\\special{papersize=3in,5in}\n\\usepackage[utf8]{inputenc}\n\\usepackage{amssymb,amsmath}\n\\pagestyle{empty}\n\\setlength{\\parindent}{0in}\n\\begin{document}\n',
tmpls: [
{
name: 'Card 1',
qfmt: questionFormat,
did: null,
bafmt: '',
afmt: answerFormat,
ord: 0,
bqfmt: ''
}
],
latexPost: '\\end{document}',
type: 0,
id: 1388596687391,
css,
mod: 1435645658
}
}
解决方案
这是一个基本的例子:
package main
import "fmt"
func main() {
primes := [6]int {2, 3, 5, 7, 11, 13}
mixed := []interface{} {"foo", 10, primes }
//fmt.Println(mixed...)
test := map[string]interface{} {
"omar":mixed,
}
fmt.Println(test["omar"])
}
推荐阅读
- botframework - 为新的 GDPR 方法获取 IBotState
- amazon-web-services - 以 JSON 形式提交 Alexa 技能的插槽和话语的意图模式?
- python - 如何同时使用字符串和 int 验证 python 中的数据?
- html - 跳转到页面的特定部分后如何显示上述文本?
- mysql - CentOS7启动mysql,启动mysql.service失败:Unit not found
- angular - 在 ionic 3 angular 4 应用程序中实现角度数据表时未定义 $
- asp.net-mvc - 需要通过文本框和按钮向 DropDownList 添加新选项
- cuda - CUDA 内核调用: kernel<<<...,...>>> 其中第三个“<”带有红色下划线
- biztalk - 将 BizTalk BAM 事件“转发”到云
- java - 在没有迭代器的二叉搜索树上实现 JUnit 测试?