目前只写了解析普通文本文件、解析 JSON 文件和复杂 JSON 的例子,其他的后续再补充。
1 解析普通文本文件
在静态资源文件目录 resources 下,有一个版本文件 version.txt,它的内容如下:
1 | -----------------------------------------分割线-------------------------------------------- |
为获取文件中的最新版本号,刚开始想用 NIO 去逐行提取文本中的内容:
1 | String fileName = "version.txt"; |
随后发现这种写法会有读静态资源文件路径的问题,在研究了 Files.readAllLines() 的源码之后,改写成:
1 | /** 按行读取文本文件,文件在 resources 目录下 */ |
执行结果:
1 | -----------------------------------------分割线-------------------------------------------- |
2 解析 JSON 文件
有了解析普通文本文件的经验后,现在来解析 JSON 文件,JSON 文件内容为:
1 | { |
创建一个与 content 对应的 VersionInfo 实体类:
1 |
|
解析代码实现:
1 | import com.alibaba.fastjson.JSON; |
3 解析嵌套的 JSON 数组字符串
请将下面这个嵌套的 JSON 数组字符串转换为 Java 对象:
1 | [ |
首先根据数据结构创建一个对应的 Java 类:
1 | import com.fasterxml.jackson.annotation.JsonProperty; |
然后编写转换方法:
1 | import com.fasterxml.jackson.core.type.TypeReference; |