【问题标题】:Go - how to append marshalled json object to a fileGo - 如何将编组的 json 对象附加到文件中
【发布时间】:2017-03-26 12:10:51
【问题描述】:

有没有办法将编组的 json 对象附加到文件内的 json 数组中,而不加载该文件?

这就是我的意思:

Contents of "file.json":

// json array
[
    // json objects
    {...},
    {...},
    {...}
    // APPEND NEW marshalled json object here
]

如果这不可行或效率不高,那么在一个切片中长时间保存 20MB 的结构有多可行?

【问题讨论】:

  • 不确定是否有一个优雅的解决方案,除了删除最后一个数组方括号、附加 json 对象然后再次添加大括号的 hack。但是,如果您在单个文件中保存 20MB 的数据,那么也许您应该考虑使用 db 解决方案,例如 mongodb。
  • 如果您确实采用了一个 hacky 解决方案,请确保只有一个线程写入文件。
  • 我认为对于可能遇到相同问题的人来说,这是一个很好的问题。答案也很棒。不知道谁投了-1票,但我认为应该更明智地将其用作最后的手段。

标签: arrays json go marshalling


【解决方案1】:

你必须对原始字节流进行操作,你可以删除结束标签,添加新的 json 对象并再次重写结束标签。

【讨论】:

    猜你喜欢
    • 2021-06-23
    • 2018-05-21
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多