为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 golang 中键入混合类型的数组?

如何在 golang 中键入混合类型的数组?

Go
猛跑小猪 2023-03-29 17:07:13
我正在编写一个需要转换为 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    }  }
查看完整描述

2 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

这是一个基本的例子:


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"])

}


查看完整回答
反对 回复 2023-03-29
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

切片/数组/映射文字都以相同的方式工作,如导览中所述- 每个值文字只需要在包含类型尚未指定类型时指定的类型(即接口类型的映射/切片/数组) ,并且每个值列表都包含在大括号中{},而不是[]JSON 中的方括号:

   "req": []interface{}{[]interface{}{[]interface{}{0, "all", []interface{}{0}}}},

请注意,最后一个元素也可以写为[]int{0}.


查看完整回答
反对 回复 2023-03-29
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信