【问题标题】:What's the easiest way to update a JSON file in Java preserving the exact format在 Java 中更新 JSON 文件的最简单方法是什么?
【发布时间】:2019-06-25 05:19:12
【问题描述】:

在 Java 中更新 JSON 文件中的值的最简单方法是什么,同时保留原始格式。 JSON 很大,有嵌套,有多种 JSON 类型。

根据我收集到的信息,Java JSON 库提供了“漂亮打印”的方法,但这会覆盖原始格式。

提前感谢您的任何指点!

【问题讨论】:

  • 您知道格式无关紧要吗?我非常怀疑是否有一个库保留了该格式,因为这真的很复杂而且绝对没有必要。
  • 把它当作文本然后......快乐解析!但是您不会获得 JSON 应有的任何好处。
  • 有一些有效的用例可以更新 json 文件,同时保留格式(或任何其他与空白无关的格式)。人类也会阅读 JSON。

标签: java json


【解决方案1】:

空格在 JSON 中是不相关的

如果您依赖JSON 文件中的white-space 以某种方式排列,那么您做错了。根据定义,空格在 JSON 中无关紧要。

所以更新 JSON 文件的正确方法是简单地重写它。使用任何符合 JSON 规则的库,或者自己编写。

引用 RFC 8259 第 2 节。JSON 语法

在六个结构字符之前或之后允许有无关紧要的空格。

考虑 XML

请注意,JSON 规则非常宽松且极少。如果您希望通过工具来执行严格的详细规则,请改用XMLSchema

确实,鉴于您的 JSON 是“大的、嵌套的”,您可能需要考虑切换到 XML。 JSON 旨在用于相对较小且扁平的数据。但在 XML 中,空格也是无关紧要的。

数据类型

各种 JSON 类型

JSON 只有大约six data types:Number、String、Boolean、Array、Object 和 null。其他任何内容都由您的应用定义,并且在重写另一个 JSON 文件时,这些值应保持原样。

同样,如果您希望严格处理和执行您的自定义数据类型,请改用 XML 和 Schema。当工作需要sledgehammer 时,不要使用mallet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2011-06-02
    • 2013-04-06
    • 2014-05-16
    • 2014-01-28
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多