java - java servlet中如何处理json字符串

标签 java json servlets server

客户端上会生成一个名为 falseAnswers 的变量,它是一个 javascript 对象数组。 它的形式为

wrongAnswers = [
     {"wrongAnswer": "Manzana", "wrongQuestion": "apple"},
     {"wrongAnswer": "arbol", "wrongQuestion": "tree"}
]

使用 JSON.stringify(wrongAnswers),然后使用表单将变量发送到 servlet。

一旦它进入 servlet,我想将 JSON 转换为 Java Arraylist。 我有一个包含 2 个变量的 Answer 类,错误的答案和错误的问题。我想迭代 JSON 数组,并为每个对象创建一个 Answer 对象,其值是该 JSON 对象中的错误答案和错误问题。每次,将 Answer 对象添加到 ArrayList 中,最终我都会得到一个与 JSON 中的所有值相对应的 Answer ArrayList。

目前,我可以使用 request.getParameter("json") 来获取带有 JSON 数据的字符串。但是,我不确定如何处理这个字符串。 有没有一种方法可以轻松地将保存 JSON 数据的字符串转换为 JsonArray 或 JsonObject,我可以轻松地迭代它们,获取每个对象中的名称:值对的值?

最佳答案

一些示例代码就很好了,但是解析和使用 JSON 的方法有很多。

您可以尝试的一种方法是:

JSONArray json = new JSONArray(jsonString);

ArrayList<String> array = new ArrayList<String>();

for(int index = 0; index < json.length(); index++) {

    JSONObject jsonObject = json.getJSONObject(index);

    String str= jsonObject.getString("wrongAnswer");

    array.add(str);

}

关于java - java servlet中如何处理json字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31777282/

相关文章:

php - 名称-值和键-值对均在 PHP 文件中创建(用于 json 编码)

javascript - 我想从 JSON 数据打印出一个列表,其中一个键作为 jquery 中的列表头

javascript - 如果内容与字符串匹配,如何使用 javascript/jquery 解析 json

java - 类路径有问题

java - 如何调试 "No Mapping found for HTTP Request"?

java - Jsp View Resolver在基于java配置的spring应用程序中不起作用

java - 如何在 Vaadin View 中的网格/表格中设置单元格背景颜色?

java - 什么是 java.net.SocketTimeoutException : Failed to receive close ack from remote connection?

java - JSF:/WEB-INF/*/javax.faces.resource/theme.xhtml 在ExternalContext 中未找到资源(Primeface 的资源 URI 有星号)

java - 在 servlet 上丢失图像?