解析 JSON 对象的 JSON 数组?

我试图从 JSON 数组中获取每个 JSON 对象。我通过 HTTP 帖子获取这些数据。


我知道我的数据会是什么样子:


   {

    "array":[

       {

          "entity_title":"University of Phoenix", 

          "entity_org_name":"CS Club",

          "possible_user_name":"Johnny Ive",

          "posibble_user_email":"Johhny.Ive@uop.edu",

          "user_position_title":"President",

          "msg_body_id":4

       },

      {

          "entity_title":"University of San Francisco", 

          "entity_org_name":"Marketing club",

          "possible_user_name":"steve jobs",

          "posibble_user_email":"steven.job@uop.edu",

          "user_position_title":"Student",

          "msg_body_id":5

      }

    ]

  }

我的示例代码和结构如下所示:


    type MsgCreateUserArray struct {

         CreateUser []MsgCreateUserJson `json:"createUserArray"`

    }

    type MsgCreateUserJson struct {

        EntityTitleName string  `json:"entity_title_name"`

        EntityOrgName   string  `json:"entity_org_name"`

        PossibleUserName string `json:"possible_user_name"`

        PossibleUserEmail   string  `json:"possible_user_email"`

        UserPositionTitle   string  `json:"user_position_title"`

        MsgBodyId       string  `json:"msg_body_id, omitempty"` 

    }



func parseJson(rw http.ResponseWriter, request *http.Request) {

    decodeJson := json.NewDecoder(request.Body)


    var msg MsgCreateUserArray

    err := decodeJson.Decode(&msg)


    if err != nil {

        panic(err)

    }

    log.Println(msg.CreateUser)

}


func main() {

    http.HandleFunc("/", parseJson)

    http.ListenAndServe(":1337", nil)

}

我不确定如何遍历 JSON 数组并获取 JSON 对象,然后只使用 JSON 对象。


海绵宝宝撒
浏览 161回答 1
1回答

郎朗坤

试试这个作为你的结构,type MsgCreateUserArray struct {    CreateUser []MsgCreateUserJson `json:"array"`}type MsgCreateUserJson struct {    EntityOrgName     string  `json:"entity_org_name"`    EntityTitle       string  `json:"entity_title"`    MsgBodyID         int64   `json:"msg_body_id,omitempty"`    PosibbleUserEmail string  `json:"posibble_user_email"`    PossibleUserName  string  `json:"possible_user_name"`    UserPositionTitle string  `json:"user_position_title"`}您的entity_title_name名称不正确,顶级array. 解码成 a 后,MsgCreateUserArray您可以遍历CreateUser切片以获取每个MsgCreateUserJson
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go