Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将列表对象放入JSon对象_Java_Json_Servlets_Arraylist_Resultset - Fatal编程技术网

Java 如何将列表对象放入JSon对象

Java 如何将列表对象放入JSon对象,java,json,servlets,arraylist,resultset,Java,Json,Servlets,Arraylist,Resultset,在servlet中,我试图在json对象中放置一个列表,但我无法找到错误所在。我从ajax调用中调用servlet,下面是servlet代码 Latlng latlng=new Latlng(); List<Latlng> vehicleList = new ArrayList<Latlng>(); sql ="SELECT a.vehicleno,a.lat,a.lng,a.status,a.rdate,a.rtime from latlng a,vehicle_de

在servlet中,我试图在json对象中放置一个列表,但我无法找到错误所在。我从ajax调用中调用servlet,下面是servlet代码

Latlng latlng=new Latlng();
List<Latlng> vehicleList = new ArrayList<Latlng>();

sql ="SELECT a.vehicleno,a.lat,a.lng,a.status,a.rdate,a.rtime from latlng a,vehicle_details b where a.vehicleno=b.vehicleno and b.clientid="+clientid +"  and b.groupid in(select groupid from group_details where groupname='"+gname+"' and clientid='"+clientid+"')";
              resultSet = statement.executeQuery(sql);
              while(resultSet.next()){
                  String s=resultSet.getString("vehicleno");
                  latlng.setVehicleno(resultSet.getString("vehicleno"));
                  latlng.setLat(resultSet.getString("lat"));
                  latlng.setLat(resultSet.getString("lng"));
                  latlng.setLat(resultSet.getString("status"));
                  latlng.setLat(resultSet.getString("rdate"));
                  latlng.setLat(resultSet.getString("rtime"));
                  vehicleList.add(latlng);
                  System.out.println(vehicleList);
                  String json = new Gson().toJson(vehicleList);
                  response.setContentType("application/json"); 
                  response.setCharacterEncoding("UTF-8"); 
                  response.getWriter().write(json);
              }
     } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
有什么不对劲吗。它甚至不显示异常。

尝试这样做

   while (resultSet.next()) {
        latlng=new Latlng();
        String s = resultSet.getString("vehicleno");
        latlng.setVehicleno(resultSet.getString("vehicleno"));
        latlng.setLat(resultSet.getString("lat"));
        latlng.setLat(resultSet.getString("lng"));
        latlng.setLat(resultSet.getString("status"));
        latlng.setLat(resultSet.getString("rdate"));
        latlng.setLat(resultSet.getString("rtime"));
        vehicleList.add(latlng);
    }
    System.out.println(vehicleList);
    String json = new Gson().toJson(vehicleList);
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(json);

您是否尝试过在这段代码中设置断点并单步执行以查看发生了什么?目前,它永远不会显示异常,因为您基本上是在吞咽发生的任何ClassNotFoundExceptions或SQLExceptions,将异常写入控制台,这对servlet代码没有任何帮助。此外,您可能应该将最后四行放在while循环的后面。我尝试使用断点执行stmt,但不会进入while循环只是捕获但不显示execption异常将打印到IDE的控制台/输出窗口。尝试在那里查找,或者在e.printStackTrace上放置一个断点,然后检查e变量。