我想基于JSON文件在Go项目中动态定义结构。
例如,如果我有一个像这样的json文件......
{
"date": "today",
"time": 12,
"era": "never",
"alive": true
}
然后我希望生成一个结构(看起来像这样)(但没有在源代码中明确定义)......
type DynamicJSON struct {
date, era string
time int
alive bool
}
此外,我想嵌套JSON对象,以便我可以做这样的事情......
{
"date": "today",
"time": 12,
"era": "never",
"alive": true,
"nested": {
"date": "tomorrow",
"alive": true
}
}
......实际上会产生两种不同的结构,比如......
type DynamicJSON1 struct {
date, era string
time int
alive bool
}
type DynamicJSON2 struct {
date string
alive bool
}
这是目前支持的内容吗?
答案 0 :(得分:2)
我无法保证最终结果,但easyjson完全符合您的要求。
easyjson旨在保持生成的Go代码足够简单,以便它可以 易于优化或修复。另一个目标是为用户提供 通过提供选项而无法自定义生成的代码的能力 可用标准编码/ json包,例如生成 " snake_case"默认情况下命名或启用omitempty行为。