• 第三方包
    • 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文件内大量内容的修改

相关文章:

  • 2021-05-29
  • 2022-12-23
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
猜你喜欢
  • 2022-12-23
  • 2021-07-22
  • 2021-09-19
相关资源
相似解决方案