从servlet返回json数组到jsp?我正在使用jquery ajax

时间:2018-12-02 11:16:36

标签: java jquery json servlets

我只想返回类似的内容

[{"id":0,"value":"some value"},{"id":1,"value":"some value"},{"id":2,"value":"some value"},{"id":3,"value":"some value"},{"id":4,"value":"some value"},{"id":5,"value":"some value"}]

来自servlet。

我已经像这样在php中完成了

    $data = array();

for ($i = 0; $i< 10; $i++) {
  $data[] = array('id' => $i,'value' => "some value");
}
echo json_encode($data);

但是我想用Java来做。 我正在使用Google的 Gson

我想将其用作bootstrap3的typeahead插件中的搜索建议。

2 个答案:

答案 0 :(得分:0)

使用Gson库尝试以下Java代码

JsonArray data = new JsonArray();  //Creates Json Array

for (int i = 0; i< 10; i++) {
   JsonObject obj = new JsonObject(); //Create object and add values
   obj.addProperty("id", i);
   obj.addProperty("value", "Some value");

   data.add(obj); //Add object to array
}

String json = new Gson().toJsonTree(data).getAsJsonArray().toString(); //Convert array to String

答案 1 :(得分:0)

最终我找到了解决方法。

JsonArray data = new JsonArray();  //Creates Json Array

for (int i = 0; i < 10; i++) {
    JsonObject obj = new JsonObject(); //Create object and add values

    obj.addProperty("id", i);
    obj.addProperty("value", "Some value");

    data.add(obj); //Add object to array
}

String json = new Gson().toJsonTree(data).getAsJsonArray().toString();

感谢Uttam将我带到此解决方案。