gpt4 book ai didi

java - 使用 JAVA 8 流从 JSON 文件中提取 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 18:00:14 25 4
gpt4 key购买 nike

我希望从 JSON 文件中提取 JSON 对象。问题是,我想获取另一个对象内的第 n 个 json 对象。为了简单起见,我举一个例子。为了更好地引用,我在此处附上了我的示例 JSON。

    {
"header": {
"Company Name": "ABC",
"Address": "XYZ",
"Registration": "XYZq",
},
"data": [
{
"EmployeeNo": "254535",
"DateHired": "2019-10-04",
"personalDetails":
{
"Father Name": "ABCD",
"PhoneNumber": "7868868686",
"pstlAdrress": {
"Country": "India",
"Town": "Mumbai"
}
},
}

]
}

从那里,我希望以字符串格式获取“国家/地区”和“城镇”的值。我怎样才能得到同样的结果。我希望在这里使用 JAVA 8 的流概念。提前致谢。

最佳答案

我总是使用 com.fasterxml.jackson.databind 的 InputStream、FileReader 和对象映射器

这里是从资源中获取纯 JSON 字符串的方法:

public String getJsonFromResource(String resource) {
StringBuilder json = new StringBuilder();

try (FileReader fileReader = new FileReader(YOURCLASS.class.getResource(resource).getFile())) {
BufferedReader reader = new BufferedReader(fileReader);

String line;
while((line = reader.readLine()) != null) {
json.append(line);
}
} catch(IOException e) {
e.printStackTrace();
}

return json.toString();
}

这里是将 JSON 映射为对象的方法:

public YourObject getYourObject(String plainJson) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();

YourObject yourObject = objectMapper.readValue(plainJson, YourObject.class);

return yourObject;
}

//编辑:

要获取存储在另一个对象的字段中的对象,您只需创建一个具有特定字段的 java 类。例如:

public class YourObject {

private YourSecondObject yourSecondObject;

}

对象映射器应该自动完成所有事情。

关于java - 使用 JAVA 8 流从 JSON 文件中提取 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60648901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com