我需要咨询或示例代码,以便我可以向客户发送JSON中的多个元素。谢谢!
我需要下一个JSON结构:
{{"id":123,"first_name":"Demo","last_name":"User","time":"2017-07-03T16:36:41.4101847Z","count":1,"payout":"839`"},{"id":124,"first_name":"Demo","last_name":"User1","time":"2017-07-03T16:36:41.4101847Z","count":1,"payout":"839`"},{"id":125,"first_name":"Demo","last_name":"User2","time":"2017-07-03T16:36:41.4101847Z","count":1,"payout":"839`"}}
答案 0 :(得分:1)
你在这里。
package main
import (
"bytes"
"encoding/json"
"io"
"log"
"net/http"
"os"
"time"
)
type Elememt struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Time time.Time `json:"time"`
Count int `json:"count"`
Payout string `json:"payout"`
}
func main() {
elements := []Elememt {
{
ID: 1,
FirstName: "Dmitriy",
LastName: "Groschovskiy",
Time: time.Now(),
Count: 1,
Payout: "200",
},
{
ID: 2,
FirstName: "Yasuhiro",
LastName: "Matsumoto",
Time: time.Now(),
Count: 2,
Payout: "150",
},
}
var buf bytes.Buffer
err := json.NewEncoder(&buf).Encode(elements)
if err != nil {
log.Fatal(err)
}
req, err := http.NewRequest("POST", "http://httpbin.org/post", &buf)
if err != nil {
log.Fatal(err)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)
}