Senden einen JSON-String in einer POST-Anfrage in Go
- Senden einen JSON-String in einer POST-Anfrage in Go
- Senden einer JSON-Zeichenfolge in einer POST-Anfrage in Golang
Die JavaScript Object Notation (JSON) ist ein häufig verwendetes Datenübertragungsformat in der Webentwicklung. Es ist einfach zu bedienen und zu verstehen.
Sie können eine JSON POST
-Anfrage mit der Go-Sprache erstellen, aber Sie müssen mehrere Go-Pakete importieren. Das net/HTTP
-Paket enthält eine gute HTTP-Client- und -Server-Unterstützung.
Das JSON
-Paket in Go bietet auch JSON-Kodierung und -Dekodierung.
In diesem Lernprogramm erfahren Sie, wie Sie mit der Go-Sprache JSON-POST-Anforderungen ausführen. In diesem Tutorial erfahren Sie, wie Sie mit der Go-Sprache eine JSON-Zeichenfolge als POST-Anfrage übermitteln.
Senden einen JSON-String in einer POST-Anfrage in Go
Eine grundlegende JSON-Datei mit einer Liste von Kursen und Pfaden ist unten dargestellt.
{
"Courses": [
"Golang",
"Python"
],
"Paths": [
"Coding Interviews",
"Data Structure"
]
}
Der folgende Code zeigt, wie das USER-JSON-Objekt an den Dienst reqres.in
gesendet wird, um eine Benutzeranforderung zu erstellen.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type User struct {
Name string `json:"name"`
Job string `json:"job"`
}
func main(){
user := User{
Name: "Jay Singh",
Job: "Golang Developer",
}
body, _ := json.Marshal(user)
resp, err := http.Post("https://reqres.in/api/users", "application/json", bytes.NewBuffer(body) )
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusCreated {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
jsonStr := string(body)
fmt.Println("Response: ", jsonStr)
} else {
fmt.Println("Get failed with error: ", resp.Status)
}
}
Ausgabe:
Response: {
"name":"Jay Singh",
"job":"Golang Developer",
"id":"895",
"createdAt":"2022-04-04T10:46:36.892Z"
}
Senden einer JSON-Zeichenfolge in einer POST-Anfrage in Golang
Hier ist der einfache JSON-Code.
{
"StudentName": "Jay Singh",
"StudentId" : "192865782",
"StudentGroup": "Computer Science"
}
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type StudentDetails struct {
StudentName string `json:"StudentName"`
StudentId string `json:"StudentId"`
StudentGroup string `json:"StudentGroup"`
}
func main() {
studentDetails := StudentDetails{
StudentName: "Jay Singh",
StudentId: "192865782",
StudentGroup: "Computer Science",
}
body, _ := json.Marshal(studentDetails)
resp, err := http.Post("<https://reqres.in/api/users>", "application/json", bytes.NewBuffer(body))
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusCreated {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
jsonStr := string(body)
fmt.Println("Response: ", jsonStr)
} else {
fmt.Println("Get failed with error: ", resp.Status)
}
}
Ausgabe:
Response: {
"StudentName":"Deven Rathore",
"StudentId":"170203065",
"StudentGroup":"Computer Science",
"id":"868",
"createdAt":"2022-04-04T12:35:03.092Z"
}