- 第三方包
go get -u github.com/tidwall/sjson
bytes, _ := ioutil.ReadFile(jsonFile)
value1, _ := sjson.Set(string(bytes), "json.Key1", newValue1)
value2, _ := sjson.Set(value1, "json.Key2", newValue2)
...
_ := ioutil.WriteFile(jsonFile, []byte(value2), 0644)
注:此方式適合小規模json文件的修改
// 1. 將json文件內容粘貼到上面鏈接中,自動轉成Golang結構體
// 2. "_"代表"error"
type MyJsonStruct struct {
...
}
var myJsonStruct MyJsonStruct
bytes, _ := ioutil.ReadFile(jsonFile)
_ = json.Unmarshal(bytes, &myJsonStruct)
操作結構體...
// 最后面4個空格,讓json格式更美觀
result, _ := json.MarshalIndent(myJsonStruct, "", " ")
_ = ioutil.WriteFile(jsonFile, result, 0644)
注:此方式適合json文件內大量內容的修改