gpt4 book ai didi

java - 读取具有多个不同类的 JSON 作为响应

转载 作者:行者123 更新时间:2023-11-30 08:01:36 25 4
gpt4 key购买 nike

所以我正在开发一个 Windows 应用程序来练习我的编码并扩展我的知识,但我在使用 Riot Games 的 JSON 时遇到了一个大问题。我不太确定要查找的术语,因为我从来没有学过如何使用 JSON,所以我一直在使用 google-fu 和 stack-overflow 作为引用以及各种文档取得了相当大的进步。

我使用输入流和输出流接收了以下所有数据。但它都是一个未格式化的 JSON,没有缩进,而且很难阅读。我假设我在这里使用了错误的工具来完成任务,它只是读取字符并打印出来。

我的问题是,要将 JSON 从 URL 导入到 JSON 文件,我应该查看什么语法。那么我应该如何将 JSON 转换或读取为多个不同的 Java 对象,以便我可以在我的代码中使用这些数据。

使用 Gson 是我已经探索过的一个选项,但我对它们的语法不满意,如果可以的话,我宁愿避免更多的第三方依赖。

欢迎任何想法或讨论,我对这里的 JSON 有点不知所措,所以我可以从中学习的任何讨论都会有所帮助。

最佳答案

尽管您厌恶第三方库,但我会强烈考虑查看 Jackson java 库,并利用其反序列化/序列化功能。

本质上,您创建的是可以从 JSON 映射的 java 对象。例如,对于 JSON:

{
"email": "email@gmail.com",
"googleId": "43243243242432",
"name": "some name"
}

创建一个java类:

public class User {

private String email;
private String googleId;
private String name;

// Getters and Setters...
}

然后您可以使用 Jackson 的对象映射器将 JSON 字符串映射到对象,例如:

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(myJsonString, User.class);

这使您可以轻松访问字段:

String name = user.getName(); // some name
String email = user.getEmail(); // email@gmail.com

等等。

关于java - 读取具有多个不同类的 JSON 作为响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37448984/

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