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

时间:2015-08-02 22:32:14

标签: java json servlets server

在客户端上生成一个名为wrongAnswers的变量,它是一个javascript对象数组。 它的格式为

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

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

一旦它在servlet中,我想将JSON转换为Java Arraylist。 我有一个类有2个变量的答案,wrongAnswer和wrongQuestion。我想遍历JSON数组,并为每个对象创建一个Answer对象,该对象在该JSON对象中具有wrongAnswer和wrongQuestion的值。每次,将Answer对象添加到ArrayList,最后,我有一个Answers的ArrayList,对应于JSON中的所有值。

目前,我可以使用request.getParameter(" json")来获取带有JSON数据的String。但是,我不知道如何处理这个String。 有没有办法可以轻松地将持有JSON数据的String转换为JsonArray或JsonObject,我可以轻松地迭代,获取每个对象中的name:value对的值?

2 个答案:

答案 0 :(得分:1)

一些示例代码本来不错,但有许多方法可以解析和使用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);

}

答案 1 :(得分:0)

尝试使用Time解析json字符串:https://github.com/FasterXML/jackson

例如,请查看:How to parse a JSON string to an array using Jackson