服务器读取数据库并返回json数据+安卓客户端json解析

一:在服务器读取数据库并构造json数据。

  1. json 是使用键值对存储数据的,使用 json 数据需要导入 json 包,将 json 包放入 WebConten–>WEB-INF–>lib 目录下。
    json 包下载链接:https://pan.baidu.com/s/1tIRE_I6ERn6h4JbFcPLutQ
    提取码:wwfh (直接使用链接提供的 json.jar 包即可)
  2. 将数据库数据打包成 json 数据,如下为在 doGet 方法中部分代码
	Connection conn = null;
	PreparedStatement pstmt = null;
	ResultSet rs = null;
	//json 对象
	JSONObject json = new JSONObject();
	try {
		Class.forName(driver);
		conn = DriverManager.getConnection(url,usr,password);
		pstmt = conn.prepareStatement("select * from android where account=? and password=?");
		pstmt.setString(1, "111");
		pstmt.setString(2, "111");
		rs = pstmt.executeQuery();
		//添加数据到 json 对象中
		if (rs.next()) {
			json.put("账号", rs.getString("account"));
			json.put("密码", rs.getString("password"));
			System.out.println("账号:" + json.getString("账号"));
			System.out.println("密码:" + json.getString("密码"));
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	
	response.setContentType("text/json;charset=UTF-8");
	response.setCharacterEncoding("UTF-8");
	//向客户端返回 json 数据
	PrintWriter writer = response.getWriter();
	writer.print(json);
    writer.flush();
    writer.close();

形成的 json 数据如图:
在这里插入图片描述
二:安卓客户端解析返回 json 数据。
部分代码如下:

//获取服务器返回 json 数据
final String responseData = response.body().string();
//解析,会抛出异常,必须捕获
try {
	JSONObject object = new JSONObject(responseData);
	String account = object.getString("账号");
	String password = object.getString("密码");
 } catch (Exception e) {
	e.printStackTrace();
 }

最后,json 的简单构造与解析就完成了。

发布了38 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43851639/article/details/94442608