gpt4 book ai didi

Java - 需要有关 JSON 数组/对象和验证的帮助

转载 作者:行者123 更新时间:2023-12-01 04:57:24 25 4
gpt4 key购买 nike

我有一项学校任务,必须向服务器进行身份验证。经过身份验证后,我可以使用以下方法收集(不确定这个词是否正确)一些 JSON 数据:

List <NameValuePair> nvp = new ArrayList <NameValuePair>();

nvp.add(new BasicNameValuePair("username", "test")); //used to log in to the site
nvp.add(new BasicNameValuePair("password", "test"));
nvp.add(new BasicNameValuePair("request", "login"));
nvp.add(new BasicNameValuePair("request", "mctrainer"));
post.setEntity(new UrlEncodedFormEntity(nvp));

我使用该代码收集的数据是:

[{"CorrectanswerPK":"155","challenge":"Hva er Areal","answer":"En klasse","choices":["Heltallstype","En klasse","Konstruktør"]},{"CorrectanswerPK":"149","challenge":"Hva brukes ordet private til","answer":"Innkapsling","choices":["Innkapsling","En klasse","Heltallstype "]},{"CorrectanswerPK":"161","challenge":"Hva er double","answer":"Flyttallstype","choices":["Exception","Flyttallstype","En metode"]} ]

这是挪威数据,但它仍然是 JSON。

我目前正在通过运行 System.out.println() 来“显示”此数据,这意味着它会出现在控制台中。然而,任务是让它出现在 JFrame 中。我的理解是,我需要使用 JSONArray 和 JSONObject 才能做到这一点,再加上 JSONvalidator 或类似的东西。

问题是我不知道该怎么做。有人可以帮助我吗?

我的老师告诉我们jtwitter.jar v2.6.9是一个很好的库,可以做到这一点,但我不知道如何使用它。还有其他想法吗?

最佳答案

我假设您希望将 JSON 文本拆分为单独的对象以在 UI 中显示(因为您可以只显示文本,但我想这不是你的任务点是什么?)。

我不建议使用不是以您需要的中心目标构建的库。不是要对你的教授产生怀疑,而是他向你推荐的库是为了检索 Twitter 数据而设计的,而不是解析 JSON(这很可能是其主要目标的副作用,但这仍然不是它的主要焦点)。我会推荐任何其他优秀的 JSON 库,所有这些库都能够进行 JSON 验证并转换为 POJO(普通的旧 java 对象)。这是一个可以帮助您入门的不错的列表

Java JSON集成到您的项目中并使用非常简单 - 您下载并直接包含在代码中的类实际上少于 10 个。 Gson 可能是第二个最容易使用的,其次是 Jackson,它是三者中的重量级人物,但也是最强大的。下面我展示了使用列表中最简单的库进行处理的示例。它假定 JSON 的形式为:

[
{"firstName" : "Bob", "lastName" : "Jones"},
{"firstName" : "Susan", "lastName" : "Smith"},
{"firstName" : "Melody", "lastName" : "Dumond"}
]

这是一个与您的数据类似的 JSON 数组。

final JSONArray jsonArr = new JSONArray(json);
final int numObjs = jsonArr.length();
for(int i = 0 ; i < numObjs; i++) {
final JSONObject jsonObj = jsonArr.getJSONObject(i);
System.out.printf("Person's name is %s, %s\n", jsonObj.get("lastName"),
jsonObj.get("firstName");
}

您可以将此示例扩展到您自己的项目,或者研究并合并其他有用的库之一。

关于Java - 需要有关 JSON 数组/对象和验证的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13878099/

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