JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式。看到ECMAScript了吧,说明是基于JavaScript大库哦。所以在开发中一般Json主要用于传递数据,我们可以通过最基本的JavaScript获得json数据,当然也可以使用Java、C++等语言获取这个json的数据。
如果在做手机应用开发的话,你又不懂Java,你只知道html、JavaScript、css,那么开发手机应用最实用的就是json了吧。大概思路如下:
建立一个Web服务器,建立一个Web程序。使用JavaScript+css建立一个手机app,通过JavaScript获得Web程序生成的Json数据,即可在手机应用上展现出Web上的相关数据咯。具体做法,可以查看我另一篇文章,《利用Cordova,jqurey与wp-rest-api制作一个属于自己博客的移动APP》,今天我要说的是Java中利用google开发的Gson jar包直接获得json数据,相关方法如下:
下载Gson jar包
打开https://github.com/google/gson,找到如下图所示,点击Clone or Download,再点击Download ZIP即可下载
解压后,看到的都是源码,自己使用elipse或者netbeans等java开发工具,自动编译java文件,并打包成jar即可
将Gson jar包放到WEB-INF目录
建立一个Java sevelet,关键代码如下:
1 | response.setContentType("text/html;charset=GB2312"); |
2 | try(PrintWriter out = response.getWriter()){ |
3 | ExecuteDB DB = new ExecuteDB(); |
4 | String sql = "select * from articles";//SQL语句,查询获得数据库内容 |
5 | ResultSet rs = DB.exeQuery(sql); |
6 | JsonObject object = new JsonObject(); |
7 | JsonArray array = new JsonArray(); |
8 | while (rs.next()) { |
9 | JsonObject ob = new JsonObject(); |
10 | ob.addProperty("articleid", rs.getInt("articleid"));//获得数据库字段为articleid的内容 |
11 | ob.addProperty("title", rs.getString("title"));//获得数据库字段为title的内容 |
12 | ob.addProperty("content", rs.getString("content").replace("<", "<").replace(">", ">")); |
13 | ob.addProperty("createtime", rs.getString("createtime"));<br>array.add(ob); |
14 | } |
15 | object.add("Article", array); |
16 | out.print(object.toString());//使用jsonp进行访问json数据 |
17 | }catch(Exception ex){ |
18 | System.out.println(ex.toString()); |
19 | } |