我有一个 JSON 对象数组,作为
结构:
type Data struct {
TaiList []Tai `json:"taiList"`
}
type Tai struct {
PlmnId *PlmnId `json:"plmnId"`
Tac string `json:"tac"`
Nid string `json:"nid"`
}
type PlmnId struct {
Mcc string `json:"mcc"`
Mnc string `json:"mnc"`
}
蒙哥德百科中的 JSON 的格式为
[
{
"taiList": [
{
"plmnId": {
"mcc": "244",
"mnc": "24"
},
"tac": "00001",
"nid": "99"
},
{
"plmnId": {
"mcc": "244",
"mnc": "34"
},
"tac": "00001",
"nid": "555"
}
]
},
{
"taiList": [
{
"plmnId": {
"mcc": "244",
"mnc": "24"
},
"tac": "00001",
"nid": "99"
}
]
}
]
JSON “taiList”是在从 mongodb 取消封口后形成的,有意省略了错误检查。
func MongoFind(id string) (Data, error) {
filter := bson.M{"_id": id}
var (
result model.Data
)
...
DB.Collection(tailistCollection).FindOne(context.TODO(),filter).Decode(&result)
...
return result, nil
}
蒙戈查找返回数据和错误。数据.TaiList数组是我想执行检查的。
我想检查JSON对象“ta”是否包含在“taiList”中。
var ta = model.Tai{
PlmnId: &model.PlmnId{Mcc: "244", Mnc: "34"},
Tac: "00001",
Nid: "555",
}
我尝试了下面的代码
var data Data
func CheckTai(ta models.Tai, data Data) bool {
for _, Tai := range data.TaiList {
if reflect.DeepEqual(Tai, ta) {
return true
}
}
return false
}
但检查泰函数返回错误。仅当只有一个 JSON 对象与列表匹配时,检查泰才会返回 true
{
"taiList": [
{
"plmnId": {
"mcc": "244",
"mnc": "24"
},
"tac": "00001",
"nid": "555"
}
]
}
需要帮助或想法如何执行此检查。
白衣非少年
相关分类