2017-07-03 93 views
-6

我需要諮詢或示例代碼,我可以如何向客戶發送JSON中的多個元素。謝謝!如何使用Go Lang中的多個元素對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`"}} 
+2

JSON對象無效。 –

+2

如果您需要諮詢或示例代碼,請嘗試文檔。如果您試圖實施某些功能並遇到問題,請發佈問題。 – Adrian

回答

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) 
} 
+0

非常感謝。 –

+0

我發現自己想知道我們是否應該提倡在標籤問題上少舉手......但同時,我寧願看到更多的語言被採用。強硬的呼叫。 – RayfenWindspear

相關問題