java servlet Json.org.jar
本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址
https://www.baiydu.com
servlet我们可以把他当成一个数据媒介,他最终执行的是将方法体内获取处理后的数据,返回给请求的客户端,或以XML格式,或以JSON格式 ,我这里是使用的JSON格式数据,所以下面我要说org.json.jar这个库及我封装的返回数据的方式。
这个库有两个核心类->JsonObject 和JsonArray
一、JsonObject
JsonObject 这个类就相当于IOS中的NSDictionary,转换后是以键值对的方式将数据呈现给客户端调用人员,当然这里我们返回的是JSON字符,所以我们需要先将JsonObject .toString()一下,然后IOS就可以将这个JSON字符串转换成 字典NSDictioanry,然后就以键值对方式取值(如:NSString *name=[NSDictionary objectForKey("name")],由于android就是用java开发的,所以android开发人员可以直接使用这个类,将获取的json字符串反转回去成JsonObject 类取值(String name=JsonObject.get("name"))
下面我贴数据库ResultSet转换成JSonObject的方法,这里有个重点就是JsonObject接受的其实是一个对象,他不是数组集合,所以这里如何数据库返回的
ResultSet有多条数据他只能将第一条数据转换为它的,其实你可以把JSonArray当成一个JAVA中的泛型集合,他存放的类就是JSonObject类.
public static JSONObject resultSetToJsonObject(ResultSet rs) throws SQLException,JSONException
{
// json对象
JSONObject jsonObj = new JSONObject();
// 获取列数
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
// 遍历ResultSet中的每条数据
if (rs.next()) {
// 遍历每一列
for (int i = 1; i <= columnCount; i++) {
String columnName =metaData.getColumnLabel(i);
String value = rs.getString(columnName);
jsonObj.put(columnName, value);
}
}
return jsonObj;
}
二、JsonArray
JsonArray 这个类就相当于IOS中的NSArray,转换后是以集合方式将数据呈现给客户端调用人员,当然这里我们返回的是JSON字符,所以我们需要先将JsonArray .toString()一下,然后IOS就可以将这个JSON字符串转换成 字典NSArray,然后用循环遍历集合中的每一个成员,(如:for(int i=0;i<NSArray.count;i++)
{
NSDictionary *dic=[NSArray objectAtIndex:i];
NSString *name=[dic objectForKey("name")];
}
,由于android就是用java开发的,所以android开发人员可以直接使用这个类,将获取的json字符串反转回去成JsonArray 然后遍历取值:
for(int i = 0; i <JsonArray.length; i++) {//遍历JSONArray
JSONObject oj = JsonArray.getJSONObject(i);
String name=oj.get("name");
}
其实JSonArray里面的成员就是JSonObject,这里还可以创建类来接受值,ADD到List<>里面去做一个泛型集合.
下面我贴数据库ResultSet转换成JSonObject的方法
public static JSONArray resultSetToJsonArry(ResultSet rs) throws SQLException,JSONException
{
// json数组
JSONArray array = new JSONArray(); // 获取列数
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount(); // 遍历ResultSet中的每条数据
while (rs.next()) {
JSONObject jsonObj = new JSONObject(); // 遍历每一列
for (int i = 1; i <= columnCount; i++) {
String columnName =metaData.getColumnLabel(i);
String value = rs.getString(columnName);
jsonObj.put(columnName, value);
}
array.put(jsonObj);
} return array;
}
三、组合一个能公用的JSon
我现在是这样的组合的,转换的JSON字符串是从一个JsonObejct转换去的,JSonObject里面有put了两个队值,一个类型是JsonObject,另一个就是列表数据
JsonArray,当然这个只是我的组合方式,这个组合最好是根据项目的实际需求来,
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
String[] mysqlParameter=new String[]{};
ResultSet returnData=MySqlHepler.executeQuery("select * from infosheet", mysqlParameter);
JSONArray array;
try {
//JSON最外层的JsonObject
JSONObject masterJsonObject=new JSONObject();
//JSon内部的列表数据->这里的数据是从数据库返回的
array=ResultToJsonTool.resultSetToJsonArry(returnData);
//这里另一个存放子数据的JSonObject我暂时就自己随便组合了
JSONObject songJsonObject=new JSONObject();
songJsonObject.put("Token", "12345678");
songJsonObject.put("userName", "xiaoming");
songJsonObject.put("userType", "2");
//将列表数据和子JsonObjectput到masterJsonObject
masterJsonObject.put("dataList", array);
masterJsonObject.put("shareObject",songJsonObject);
out.println(masterJsonObject.toString());
} catch (SQLException | JSONException e1) {
e1.printStackTrace();
}
}

本人做的一款androidApp,积分墙下载可兑支付宝红包,无广告看最新国内外大片,各种当前热门H5页游,淘宝天猫高额购物券!!:扫描下载,多谢支持!若有需要做此类产品的可以联系我:2819936788,各类数据API接口!(手机/流量/QB/游戏/淘宝客高额优惠券/超便宜的代理IP API/产品推广工具API)

java servlet Json.org.jar的更多相关文章
- java servlet+jquery+json学习小例子
引入JSON的jar包: 注意,如果包不全,页面请求servlet时,jquery ajax会返回error:function 弹出error occured!!! HTML Code: <%@ ...
- java servlet+mysql全过程(原创)
前段时间写过一篇 servlet+oracle的文章,但是那是因为公司有可能接那么一个项目,然后我当时也比较闲,所以随便学了下,那玩意是白去研究了,因为公司后面并没接到那项目. 这次学servlet用 ...
- java servlet+oracle 新手可看
最近公司领导告诉接下去接的一个产品,可能会涉及到oracle数据库,以前用得最多的是mssql,前些时间学了下mysql也算少许用过.oracle没接触过.应为我之前做过.net开发,所以数据访问接口 ...
- Java 的 JSON 开源类库选择比较(zz)
在看了作者的介绍,然后我又到mvnrepository上去看了各个库的的使用数之后,发现只能在jackson和gson之间做选择. 以下是原文 有效选择七个关于Java的JSON开源类库 April ...
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
做一个map和字符串的转换,需要导入这些jar包,这是最基本的一些jar包. 经过多方尝试得出结论入下: 首先导入基本包:json-lib-2.2.3-jdk15.jar 如果没有这个jar包,程序是 ...
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- 【Java】Java Servlet 技术简介
Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创 ...
- Java之JSON数据
特别注意:使用JSON前需要导包 操作步骤地址:http://blog.csdn.net/baidu_37107022/article/details/70876993 1.定义 JSON(JavaS ...
随机推荐
- 浅谈敏捷组织中PMO的人物
所谓的"敏捷组织"其实并没有标准的形式,而且PMO(项目办理单位)并没有一个标准的人物界说.有一个十分遍及的误解,公司在挑选"灵敏"或许"瀑布&quo ...
- EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离
回到目录 前几天看了一个基于sqlserver的负载均衡与读写分离的软件Moebius,实现的方式还是不错的,这使得用sqlserver数据库的同学时有机会对数据库进行更有效的优化了
- PDO事务处理
PDO事务处理 2014-9-3 10:44:19 By jiancaigege==================================== 概要:将多条sql操作(增删改)作为一个操作单 ...
- Python内建的对象列表
Python内建的对象列表 刚写Python肯定会遇到这样的情况,想写些什么,但又不知从何写起... 在我看来问题在于我们不知道有什么东东可以拿来玩,这里列出Python的内建对象,稍微归类了一下,多 ...
- Chrome同步最新host文件IP列表
使用Chrome的童靴是不是很多都碰到同步问题呢?网上查来查去的都是给些host文件的修改,可是都是几年前的东西,地址都不对了,想想还是自己找到需要解析的域名的IP地址吧 步骤: 1.DNS设置为8. ...
- angularJS自定义那些事
angularJS在数据处理方面很优秀. 使用angularJ给我感觉就像在写模板,然后对模板填入内容,只是这些内容不在是 在html页面编写,而是以数据的方式添加进去,这个也大大提高了编写的效率. ...
- SQL Server 2014新特性-原生备份加密
注:本篇文章是IT68找我的约稿,原文地址:http://tech.it168.com/a2014/0610/1633/000001633147.shtml SQL Server 2014 ...
- Redis基础介绍及安装示例
1.基本概念 Redis是由Salvatore Sanfilippo(意大利)开发的一个开源的高性能键值存储数据库,于2009年发布第一个版本并与同一年开源,官方站点:http://www.redis ...
- IO流-文件管理
File f = new File(“test.txt”); File的构造器不会在文件不存在的情况下新建一个文件,从File对象中创建文件是由文件流的构造器或File类的createNewFile方 ...
- static 关键字
static对象如果出现在类中,那么该对象即使从未被使用到,它也会被构造以及析构.而函数中的static对象,如果该函数从未被调用,这个对象也就绝不会诞生,但是在函数每次被调用时检查对象是否需要诞生. ...