我将尝试从JSON数组中获取每个JSON对象。我通过HTTP post获取这些数据。
我知道我的数据长这样:
{
"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对象即可。
2015/03/29 01:01:14 [{凤凰城大学CS俱乐部Johnny Ive Johhny.Ive@uop.edu主席} {旧金山大学市场营销俱乐部史蒂夫·乔布斯steven.job@uop.edu学生}]
- surfin Arrayjson:“entity_title_name”
,但您的 json 为“entitiy_title”,以及createUserArray
与array
);某些字段类型错误(例如,您的MsgBodyId string
但 JSON 却是数字类型);结构标签中不应包含空格(例如,从json:“msg_body_id, omitempty”
中删除空格)......等等。 - Dave C