1. 程式人生 > >踩了個坑:go json.Marshal時,結構體欄位需要大寫

踩了個坑:go json.Marshal時,結構體欄位需要大寫

       來看看:

package main

import (
	"encoding/json"
	"fmt"
)

type Header struct {
	FileName  string
	Host      string
	offset    string
}


func main() {

	testJson()
}

func testJson() {
	x := Header{FileName: "yangheng", Host: "localhost", offset: "123"}
	lang, err := json.Marshal(x)
	if err == nil {
		fmt.Printf("result %v \n", string(lang))
	}
}

        結果:

result {"FileName":"yangheng","Host":"localhost"} 

        為啥沒有offset呢? 因為小寫了。

        坑我15分鐘。

        不多說。