Golang json化時允許賦予預設值

2022-10-08 18:48:11 字數 908 閱讀 1661

演示omitempty **:

package main

import (

"encoding/json"

"fmt"

)func main()

type person struct

var coder person

var level int = 0

coder.level = level

coder.name = "mike"

bytes, _ := json.marshal(coder)

fmt.printf("%s\n", string(bytes))

// 列印為:}

return

}

我們發現給level 字段賦值了0,但是json字串化後列印, level欄位沒有了。反而是沒有賦值的hobby欄位出現了。當實際應用時level可以為0,而hobby 如果沒有賦值時字串中不需要出現。 如何解決情況?

示例**:

package main

import (

"encoding/json"

"fmt"

)func main()

type person struct

var coder person

var level int = 0

coder.level = &level

coder.name = "mike"

bytes, _ := json.marshal(coder)

fmt.printf("%s\n", string(bytes))

// 列印

return

}

指定 level 、hobby 引用型別後問題就可以了。

Golang json用法詳解

簡介 json格式可以算我們日常最常用的序列化格式之一了,go語言作為乙個由google開發,號稱網際網路的c語言的語言,自然也對json格式支援很好。但是go語言是個強型別語言,對格式要求極其嚴格而json格式雖然也有型別,但是並不穩定,go語言在解析 為非強型別語言時比如php等序列化的json...

golang json基礎使用

golang中直接匯入 encoding json 包即可使用json.主要是json.marshal與json.unmarshal兩個函式的使用。func marshal v inte ce byte error func unmarshal data byte v inte ce error這裡...

golang json用法講解

下面看看乙個正常的結構體轉json是什麼樣子 package main import encoding json fmt product 商品資訊 type product struct func main p.name xiao mi 6 p.isonsale true p.number 1000...