Gson与Json jar 使用的一些区别

public class GsonUtil {json

public static JsonArray forJsonUtil(ResultSet rs) {
	JsonArray jsonArray = new JsonArray();
	try {
		ResultSetMetaData md = rs.getMetaData();
		int num = md.getColumnCount();
		JsonObject jsonObject = new JsonObject();
		while (rs.next()) {
			for (int i = 1; i <= num; i++) {
				Object o = rs.getObject(i);
				if (o instanceof Date) {
					jsonObject.addProperty(md.getColumnName(i),
							DateUtil.formatDate((Date) o, "yyyy-MM-dd"));
				} else if (o instanceof Integer) {
					jsonObject.addProperty(md.getColumnName(i),
							(Integer) rs.getObject(i));
				} else if (o instanceof Double) {
					jsonObject.addProperty(md.getColumnName(i),
							(Double) rs.getObject(i));
				} else {
					jsonObject.addProperty(md.getColumnName(i),
							(String) rs.getObject(i));
				}
			}
			jsonArray.add(jsonObject);
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return jsonArray;
}





public static JSONObject forJsonObjectUtil(ResultSet rs) {

	JSONObject jsonObject = new JSONObject();
	try {
		ResultSetMetaData md = rs.getMetaData();
		int num = md.getColumnCount();
		while (rs.next()) {
			for (int i = 1; i <= num; i++) {
				Object o = rs.getObject(i);
				if (o instanceof Date) {
					jsonObject.put(md.getColumnName(i),
							DateUtil.formatDate((Date) o, "yyyy-MM-dd"));
				} else {
					jsonObject.put(md.getColumnName(i), rs.getObject(i));
				}
			}
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return jsonObject;
}

两者主要的区别在 Gson与JSON在使用ResultSetMetaData时的区别在于Gson须要指明栏位的类型,否则存在转换异常的问题code

  • 而JSON能够指定類型也能够不指定類型.
相关文章
相关标签/搜索