【问题标题】:Why not all key from Revel JSON response are capitalized?为什么 Revel JSON 响应中的所有键都不大写?
【发布时间】:2019-10-16 02:48:21
【问题描述】:

我正在尝试了解如何使用 Revel 框架实现 POST 请求。

models/login.go

package models

type LoginParam struct {
    Username string `form:"username" json:"username"`
    Password string `form:"password" json:"password"`
}

type Response struct {
    Message string `json:"message`
    Data    string `json:"data"`
}

app/controllers/login.go

package controllers

import (
    "mytestapi/app/models"
    "encoding/json"
    "log"
    "strconv"

    "github.com/revel/revel"
)

type Login struct {
    *revel.Controller
}

func (c Login) DoLogin() revel.Result {
    var login models.LoginParam
    var res models.Response

    err := json.NewDecoder(c.Request.GetBody()).Decode(&login)

    if err != nil {
        log.Fatal("JSON decode error: ", err)
    }

    res.Message = "OK"
    res.Data = login.Username + " " + login.Password

    defer c.Request.Destroy()
    return c.RenderJSON(res)
}

邮递员给出这个输出:

{ "Message": "OK", "data": "foo barzzzz" }

几乎正确。在 JSON 输出中,打印的是 Message 而不是 message。 为什么 Message 是大写的,而 data 不是?

【问题讨论】:

    标签: go revel


    【解决方案1】:

    标签message后缺少双引号:

    type Response struct {
        Message string `json:"message`
        Data    string `json:"data"`
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 2011-04-30
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      相关资源
      最近更新 更多