首字母因為小寫玩了仨小時

phpFX發表於2019-07-09

簡述過程

最近學習go
beego寫了一個介面 傳的json引數
就是收不到引數 最後發現是大小寫的問題

程式碼示例(原文示例連結

package main

import (
    "encoding/json"
    "fmt"
)

type Aa struct{
    x string
    y string
}

type Bb struct{
    X string
    y string
}

type Cc struct{
    X string
    Y string
}

type Dd struct{
    X string `json:"xx"`
    Y string `json:"yy"`
}

func main(){
    // 屬性名是小寫開頭的
    aa:=Aa{"sff", "ffg"}
    a,_:=json.Marshal(aa)
    fmt.Println("Aa:屬性名是小寫開頭的")
    fmt.Println(string(a))

    // 屬性名是一個大寫開頭,一個小寫開頭的
    bb:=Bb{"sff", "ffg"}
    b,_:=json.Marshal(bb)
    fmt.Println("Bb:屬性名是一個大寫開頭,一個小寫開頭的")
    fmt.Println(string(b))

    // 屬性名是大寫開頭的
    cc:=Cc{"sff", "ffg"}
    c,_:=json.Marshal(cc)
    fmt.Println("Cc:屬性名是大寫開頭的")
    fmt.Println(string(c))

    // 新增json小名
    dd:=Dd{"sff", "ffg"}
    d,_:=json.Marshal(dd)
    fmt.Println("Dd:新增json小名")
    fmt.Println(string(d))
}

輸出結果

Aa:屬性名是小寫開頭的
{}
Bb:屬性名是一個大寫開頭,一個小寫開頭的
{"X":"sff"}
Cc:屬性名是大寫開頭的
{"X":"sff","Y":"ffg"}
Dd:新增json小名
{"xx":"sff","yy":"ffg"}

相關文章