【问题标题】:file content to JSON encoded String in Java将文件内容转换为 Java 中 JSON 编码的字符串
【发布时间】:2017-06-27 21:49:30
【问题描述】:

我想读取文件的内容,将其保存为字符串,并将此字符串转换为 JSON 编码的字符串。

例如,我有一个包含以下内容的 XML 文件(简化):

<node name="myname">
    <id>123-abc</id>
</node>

这只是一个例子。文件类型不相关,它可以是 XML、txt 文件或其他文件。要点是我想读取文件内容并将此文件内容转换为 JSON 编码字符串。

现在我用BufferedReader 逐行读取此文件并将其转换为字符串。

但是这个字符串不是 JSON 编码的。现在我尝试使用JSONObject.quote(xmlString) 将其转换为 JSON 字符串。我认为这是解决方案,但事实并非如此。之后,字符串看起来像:

"<node name=\"myname\">\t<id>123-abc<\/id><\/node>"

之后,我尝试用空字符串替换字符串开头和结尾的所有\t",但这不是一个聪明的解决方案。我希望必须有一个标准的解决方案。

那么,将 XML 文件内容转换为编码的 JSON 字符串的简单解决方案是什么?

【问题讨论】:

  • 解析 XML 为 POJO,将 POJO 转换为 JSON 对象。
  • @Compass 但我不想将 XML 转换为 JSON 对象,我只想将文件内容编码为 JSON 字符串。所以,文件不一定是 XML 文件,也可以是 txt 文件。重点是我想把一个文件的内容读成一个字符串,然后把这个字符串转换成一个JSON编码的字符串。
  • 所以你只想要一个 JSON 对象中的字符串?
  • @Compass 不是。我有一个 REST API 端点。此端点需要一个 json。一个 json 参数需要一个字符串作为值。此字符串应包含一个 json 编码的 xml 字符串。稍后这个编码的 json xml 字符串将被服务器解码为 XML。所以我只需要一个带有 XML 的字符串。
  • @Martin ,你能说明一下你得到的输出有什么问题吗?

标签: java json xml file encode


【解决方案1】:

使用JAXB,您可以将 XML 文档绑定到 POJO。然后从 Java 对象中你可以使用例如 Jackson

尝试谷歌 mkyong.com。他为 JAXB 和 Jackson 提供了很好的基础教程。因为我没有足够的声誉,所以不能发布超过 2 个链接。

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2023-04-01
    • 2016-08-28
    相关资源
    最近更新 更多