我正在学习去和卡住的结构
我需要生成json:
{
"and" : [
{ "term" : { "name.second" : "ba" } }
]
}
}
所以我可以用代码做到这一点:
package main
import (
"encoding/json"
"fmt"
)
type Term map[string]interface{}
type TermHash struct {
Term `json:"term"`
}
type Filter struct {
And []TermHash `json:"and"`
}
func main() {
var filter Filter
filter.And = append(filter.And, TermHash{ Term{"name.second" : "ba"}})
jsonFilter, _ := json.MarshalIndent(filter, "", " ")
fmt.Printf(string(jsonFilter))
}
但我真的不想使用单独的 TermHash 和 Term 类型,它在代码中似乎没有必要,仅用于添加此行进行过滤。我可以避免使用它吗?
我只想用类型过滤器来完成这个:
type Filter struct {
And []struct{
Term map[string]interface{} `json:"term"`
} `json:"and"`
}
这看起来更具可读性并代表预期的结果,但我无法以这种方式创建 Term 的实例。有没有办法在不创建单独类型的情况下向 json 添加条款行?
牧羊人nacy
SMILET
相关分类