我的项目的src / test / resources包中有一个json文件SenderTest.json。我认为将json对象反序列化为java对象的方法是正确的。
JsonObject json = new JsonObject();
String jsonStrng = json.toString();
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Animal animal = mapper.readValue(jsonStrng, Animal.class);
但是我很努力地了解如何从资源包中获取SenderTest.json到这个JsonObject中
答案 0 :(得分:1)
尝试一下。
Animal animal = mapper.readValue(new FileInputStream(new File("SenderTest.json")), Animal.class);
在这里,我们将InputStream
作为readValue
方法中的第一个参数传递
答案 1 :(得分:0)
如果您的问题是“我如何读取位于项目本身中的文件”,则系统曾经询问过该问题-请尝试以下问题作为示例:Read file from a folder inside the project directory
如果您实际上是在问“如何在不进行对象映射和显式反序列化的情况下读取文件”,则可以执行以下操作:
new JSONObject( IOUtils.toString( new FileInputStream( path.toString() ), "UTF-8" ) );