duang5049 2017-11-01 04:08
浏览 76
已采纳

JSON编码返回空白Golang [关闭]

I have a very simple http resonse in my server where i json encode a struct. But its sending a blank of just {}

I don't know if i am doing it wrong but i get no errors. This is my json encode:

    // Set uuid as string to user struct
    user := User{uuid: uuid.String()}
    fmt.Println(user) // check it has the uuid

    responseWriter.Header().Set("Content-Type", "application/json")
    responseWriter.WriteHeader(http.StatusCreated)

    json.NewEncoder(responseWriter).Encode(user)

On the recieving end the data has:

Content-Type application/json
Content-Length 3
STATUS HTTP/1.1 201 Created
{}

Why does it not give me the uuid data? Am i doing something wrong with my encoding?

  • 写回答

1条回答 默认 最新

  • dongxianghui3709 2017-11-01 05:00
    关注

    Export the field name by making the first character of the identifier's name a Unicode upper case letter (Unicode class "Lu").

    Try this:

    package main
    
    import (
        "encoding/json"
        "fmt"
        "log"
        "net/http"
    )
    
    type User struct {
        Uuid string
    }
    
    func handler(responseWriter http.ResponseWriter, r *http.Request) {
        user := User{Uuid: "id1234657..."} // Set uuid as string to user struct
        fmt.Println(user)                 // check it has the uuid
        responseWriter.Header().Set("Content-Type", "application/json")
        responseWriter.WriteHeader(http.StatusCreated)
        json.NewEncoder(responseWriter).Encode(user)
    }
    
    func main() {
        http.HandleFunc("/", handler)            // set router
        err := http.ListenAndServe(":9090", nil) // set listen port
        if err != nil {
            log.Fatal("ListenAndServe: ", err)
        }
    }
    

    output(http://localhost:9090/):

    {"Uuid":"id1234657..."}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点