第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何檢查 JSON 是否包含在戈朗的數(shù)組 JSON 對(duì)象中

如何檢查 JSON 是否包含在戈朗的數(shù)組 JSON 對(duì)象中

Go
暮色呼如 2022-09-26 14:53:33
我有一個(gè) JSON 對(duì)象數(shù)組,作為結(jié)構(gòu):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 取消封口后形成的,有意省略了錯(cuò)誤檢查。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}蒙戈查找返回?cái)?shù)據(jù)和錯(cuò)誤。數(shù)據(jù).TaiList數(shù)組是我想執(zhí)行檢查的。我想檢查JSON對(duì)象“ta”是否包含在“taiList”中。 var ta = model.Tai{    PlmnId: &model.PlmnId{Mcc: "244", Mnc: "34"},    Tac:    "00001",    Nid:    "555",}我嘗試了下面的代碼var data Datafunc CheckTai(ta models.Tai, data Data) bool {    for _, Tai := range data.TaiList {        if reflect.DeepEqual(Tai, ta) {            return true        }    }    return false}但檢查泰函數(shù)返回錯(cuò)誤。僅當(dāng)只有一個(gè) JSON 對(duì)象與列表匹配時(shí),檢查泰才會(huì)返回 true{      "taiList": [        {          "plmnId": {            "mcc": "244",            "mnc": "24"          },          "tac": "00001",          "nid": "555"        }      ]    }需要幫助或想法如何執(zhí)行此檢查。
查看完整描述

1 回答

?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

根據(jù)評(píng)論中的建議,我復(fù)制了您的方案,如下所示:


package main


import (

    "encoding/json"

    "fmt"

    "log"

    "reflect"

)


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"`

}


var data = []byte(`{

    "taiList": [

      {

        "plmnId": {

            "mcc": "244",

            "mnc": "24"

        },

        "tac": "00001",

        "nid": "99"

        },

        {

        "plmnId": {

            "mcc": "244",

            "mnc": "34"

        },

        "tac": "00001",

        "nid": "555"

        }

    ]

}

`)


var ta = Tai{

    PlmnId: &PlmnId{Mcc: "244", Mnc: "34"},

    Tac:    "00001",

    Nid:    "555",

}


func CheckTai(ta Tai, data Data) bool {

    for _, Tai := range data.TaiList {

        if reflect.DeepEqual(Tai, ta) {

            return true

        }

    }

    return false

}


func main() {

    var v Data

    err := json.Unmarshal(data, &v)

    if err != nil {

        log.Fatal(err)

    }

    fmt.Println(CheckTai(ta, v))

}

輸出:


true


查看完整回答
反對(duì) 回復(fù) 2022-09-26
  • 1 回答
  • 0 關(guān)注
  • 78 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)