如何计算结构或JSON文档中的属性数量?

时间:2018-11-19 10:59:46

标签: json go

我正在Go中制作一个PDF生成器,它的其中一部分将是一张表。要创建表,我需要声明列的宽度,这将通过获取页​​面宽度(减去边距)并除以表中的列数来完成

表中的列是在这样的结构中定义的:

type Person struct {
    Name    string `json:"Name"`
    Age     string `json:"Age"`
    Comment string `json:"Comment"`
}

并且将JSON解组到其中

我不想将'3'作为列号硬编码到我的代码中,并且想知道我如何以编程方式从JSON或结构本身中计算属性

我已经花了几天的时间搜索,所有结果都集中在难以获取值的人上,但是我想要键!

预先感谢

2 个答案:

答案 0 :(得分:5)

reflect.TypeOf(Person{}).NumField()

 len(structs.Map(Person{}))

(您需要导入“ github.com/fatih/structs”)

答案 1 :(得分:-1)

Object.getOwnPropertyNames(object)将返回给定对象的属性名称数组