如何在Java代码中访问element文件夹下string.json中定义的字符串等资源
Java 读取 element 目录下 string.json 键值的实现方法
前置说明
你需要先将JSON文件解析为Java可识别的键值结构,以下是两种最常用的实现方案:
方案1:使用 Jackson 解析(Java生态主流方案)
Jackson是Java项目最常用的JSON处理库,使用步骤如下:
- 第一步引入依赖(以Maven为例),在
pom.xml中添加:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version> </dependency>
- 第二步编写读取代码:
import com.fasterxml.jackson.databind.ObjectMapper; import java.io.InputStream; import java.util.Map; public class JsonStringReader { public String getStringValue(String key) throws Exception { // 读取resources/element/string.json文件,可自行调整路径匹配你的项目结构 InputStream inputStream = getClass().getClassLoader().getResourceAsStream("element/string.json"); ObjectMapper objectMapper = new ObjectMapper(); // 解析为键值对Map Map<String, String> stringMap = objectMapper.readValue(inputStream, Map.class); // 按key获取对应值 return stringMap.get(key); } }
方案2:使用 Gson 解析(适合偏好Google生态的场景)
- 第一步引入Maven依赖:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.10.1</version> </dependency>
- 第二步编写读取代码:
import com.google.gson.Gson; import java.io.InputStreamReader; import java.io.Reader; import java.util.Map; public class JsonStringReader { public String getStringValue(String key) throws Exception { Reader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("element/string.json")); Gson gson = new Gson(); Map<String, String> stringMap = gson.fromJson(reader, Map.class); return stringMap.get(key); } }
注意事项
- 如果你存的string.json不在资源目录而是磁盘绝对路径,可以用
new FileInputStream("你的绝对路径/element/string.json")替换输入流生成逻辑 - 生产环境建议把解析后的Map做缓存,不要每次读取都重新解析文件,提升性能
- 建议添加空指针、JSON格式错误的异常捕获,避免业务崩溃
内容的提问来源于stack exchange,提问作者anshulgoel72
相关产品推荐
相关产品推荐

