【问题标题】:JSON Replacing '.' withJSON 替换 '.'和
【发布时间】:2015-10-31 05:26:27
【问题描述】:

我想要一个将 JSON 文件作为输入和结果 JSON 文件的程序。输入文件包含如下内容:

{"empname":"surname.firstname","department.name":"production","salary":11254.42}

输出文件必须将输入 JSON 的“.”(点)替换为“_”(下划线)。 预期输出:

{"empname":"surname_firstname","department_name":"production","salary":11254_42}

我希望这个程序使用 JAVA,而不使用序列化和反序列化。有人可以帮忙吗?

【问题讨论】:

  • 您的输出是无效的 json,因为 11254_42 不再是有效数字。
  • 您真的只是想将属性名称或值中的点更改为下划线吗?

标签: java json replace


【解决方案1】:

如果您使用的是 Java 7+:

String str = new String(Files.readAllBytes(Paths.get("in.json")), StandardCharsets.UTF_8)
        .replace('.', '_');

Files.write(Paths.get("out.json"), str.getBytes("UTF-8"), StandardOpenOption.WRITE);

【讨论】:

  • 这符合 OP 的要求,但输出不是有效的 json,因为它将数字类型值中的小数点转换为下划线。
  • 你是对的。 :) 让我们希望 OP 提供更多细节。
  • 实际上在 OP 的示例中,数字中的点被转换为 _ 就像任何其他点一样
猜你喜欢
  • 2014-03-16
  • 2012-04-05
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
相关资源
最近更新 更多