在golang中,操作json數據是一件很常見的事情。在某些情況下,需要給json數據添加一些字段,本文將介紹如何實現json添加字段的方法。
// 定義一個結構體
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
// 初始化一個Person結構體
p := Person{"zhangsan", 20}
// 將結構體轉換為json格式
b, _ := json.Marshal(p)
// 將json數據解析成map類型
var m map[string]interface{}
json.Unmarshal(b, &m)
// 給map中添加一個字段
m["address"] = "beijing"
// 將map類型轉換為json格式
newB, _ := json.Marshal(m)
// 輸出結果
fmt.Println(string(newB)) // {"address":"beijing","age":20,"name":"zhangsan"}
}
首先,需要定義一個結構體,用來存放需要轉換為json格式的數據。這里我們使用了一個Person結構體作為例子。
接著,需要初始化一個Person結構體,并將其轉換為json格式的字節數組。
然后,使用json.Unmarshal()函數將字節數組解析成一個map類型,這樣就可以在不改變原始結構體的情況下,給json數據添加字段了。
最后,將修改后的map類型再次轉換為json格式的字節數組即可。
添加字段的方法很簡單,但要注意的是,一定要先將json數據解析成map類型,才能進行修改,否則可能會修改數據的類型。
上一篇mysql分表查詢速度
下一篇mysql動態計算