Разобрать массив тела json, отправленный в запросе POST, и распечатать в GoLang
Я новичок в GOlang, у меня одна проблема при чтении массива json. Нужна помощь по запросу ниже.
Запросить Json:
{ "httpReq": {
"username": "1234567890",
"password": "1234567890",
"number": "123456"
}
}
Ответ Json:
{ "httpResp": {
"status": "Pass",
"message": "great"
}
}
Ниже был мой код: Если я передаю объект json ниже его рабочего, но мне нужно отправить "httpReq" в json.
package main
import (
"encoding/json"
"fmt"
)
type people struct {
Username string `json:"username"`
Password string `json:"password"`
Number string `json:"number"`
}
type peopleread struct {
Collection []people
}
func main() {
text := `{
"username": "1234567890",
"password": "1234567890",
"number": "123456"
}`
textBytes := []byte(text)
//people1 := people{}
var people2 people
err := json.Unmarshal(textBytes, &people2)
if err != nil {
fmt.Println(err)
return
}
Username := people2.Username
Password := people2.Password
Number := people2.Number
fmt.Println(Username)
fmt.Println(Password)
fmt.Println(Number)
}
1 ответ
Решение
Размаршалировать с httpReq
поле, вы должны справиться с этим.
Создайте структуру, чтобы обернуть тело запроса, например json
type HttpReq struct{
HttpReq people `json:"httpReq"`
}
Затем используйте unmarshal
var httpReq HttpReq
err := json.Unmarshal(textBytes, &httpReq)
Полный код на игровой площадке Go здесь