在Android基础_web通信2中,我运用的JSONObject是Android原生的json类,通过import org.json.JSONObject来导入。

还有另外一种更简单的方法,就是用Gson解析

一.导入Gson包

复制你需要添加的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的AndroidStudio项目都有像这样的目录结构。可以看到虽然jar已经复制黏贴过来了,但是还未导入,所以看不到jar中包含的内容。而已导入的jar,则可以看到jar中内容。

不清楚怎么导入的可以百度搜索一下。

二.代码

在web端操作数据的代码

//根据Id查询单个用户
    protected void doFindUserById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out=response.getWriter();
        //取出ID
        int id=Integer.parseInt(request.getParameter("uno"));
        for (Users users : userList) {
            if(users.getUno()==id){
                out.println(new Gson().toJson(users));
                return;
            }
        }
        out.close();
    }

 

//查询所有用户
    protected void doFindUserList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out=response.getWriter();
        //将所有用户以JSON格式响应到客户端
        out.println(new Gson().toJson(userList));
        out.close();        
    }

移动客服端操作数据的代码

//查询单个用户
    public void test_1(View view){
        try {
            URL url=new URL("http://192.168.3.222:8080/Web_Project2/UserServlet?method=userById&uno=1");
            HttpUtils.doGet(url, new CallBack() {
                @Override
                public void success(String str) {
                    Log.i("User Info","------success-----");
                    TbUsers users=new Gson().fromJson(str,TbUsers.class);
                    Log.i("User Info",users.getUname()+","+users.getUpwd());
                }
                @Override
                public void failed(String str) {
                    Log.i("Error Message",str);
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

//查询所有用户
    public void test_2(View view){
        try {
            URL url=new URL("http://192.168.3.222:8080/Web_Project2/UserServlet?method=userList");
            HttpUtils.doGet(url, new CallBack() {
                @Override
                public void success(String str) {
                    List<TbUsers> userList=new Gson().fromJson(str,new TypeToken<List<TbUsers>>(){}.getType());
                    for(TbUsers u:userList){
                        Log.i("User Info:",u.getUname()+","+u.getUpwd());
                    }
                }
                @Override
                public void failed(String str) {
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

工具类和Android基础_web通信2中一样。这里不粘贴代码了。