JackSon与AJAX的简单操作
发布时间:2020-12-16 03:04:24 所属栏目:百科 来源:网络整理
导读:?服务器序列化与反序列化 一,序列化 /** * 序列化为json */ public static String toJson(Object obj) { String result = null; try { //对象映射器 ObjectMapper objectMapper = new ObjectMapper(); //设置日期格式 SimpleDateFormat sdf = new SimpleDate
?服务器序列化与反序列化一,序列化 /**
* 序列化为json
*/
public static String toJson(Object obj) {
String result = null;
try {
//对象映射器
ObjectMapper objectMapper = new ObjectMapper();
//设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");
objectMapper.setDateFormat(sdf);
result = objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return result;
}
?二,反序列化/** * 反序列化成对象 * * T:表示全部类型与objcet不同的是 泛型强类型 Object为弱类型 * json:需要反序列化的字符串 * valueType:反序列化的类型 * */ public static <T> T toObject(String json,Class<T> valueType) { //对象映射器 ObjectMapper mapper=new ObjectMapper(); T result=null; try { result=mapper.readValue(json,valueType); }catch (Exception e) { e.printStackTrace(); } return result; } 三,序列化时时间的问题通过jackson序列化时时间是一个问题,它会把时间转换为1977年到现在这个时间的毫秒数,下面来解决这个问题 1,时间注解@JsonFormat:? 在需要指定序列化对象的时间字段前面插入时间注解,转变为自己想要的格式
private String comid;
private String comname;
private String comprice;
//设置日期格式
? 2,SimpleDateFormat:? 在序列化前设置好时间格式 //对象映射器
ObjectMapper objectMapper = new ObjectMapper();
//设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd HH:mm:ss");
objectMapper.setDateFormat(sdf);
objectMapper.writeValueAsString(obj);
? Jackson工具包: ?https://files.cnblogs.com/files/NiuBiHH/jackson.zip ? 四,原生AJAX获取XHR对象? /** * 获取XHR对象 * */ function getXHR() { //window.XMLHttpRequest 普通浏览器差不多都具备的对象 if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else if(window.ActiveXObject){ //ActiveXObject("Microsoft.XMLHTTP") 为Microsoft公司的 在IE6 IE5下获得的XHR对象 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } 状态发生改变时调用的函数 /* XHR.onreadystatechange=function(){ if(xhr.readyState==4){ if(xhr.status==200){ xhr.responseText; open()? 如果是本地的话可以用openReques()代替 /* xhr.open("GET","CommodityControl?action=time",true); ?send() 请求的所有相关事件都必须在此方法之前 xhr.send(null);
? 事例:
五,$.ajax(options)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 事例: $.ajax({ type: "get",//请求类型 url: "CommodityControl?action=allcom",//路径 beforeSend: function () { //请求前的事件 c.show(); },success: function (data) { //请求成功后的事件 $.each(data,function (index,obj) { var tr = $("<tr/>"); var inptd = $("<td/>"); $("<input name=‘comCheck‘ class=‘comCheck‘ type=‘checkbox‘/>").html(obj.comtime).appendTo(inptd).data("id",obj.comid); inptd.appendTo(tr); $("<td/>").html(obj.comid).appendTo(tr); $("<td/>").html(obj.comname).appendTo(tr); $("<td/>").html(obj.comprice).appendTo(tr); $("<td/>").html(obj.comtime).appendTo(tr); var inputtd = $("<td/>"); if (obj.yn == ‘y‘) { $("<input name=‘yn‘ checked=‘‘ value=‘y‘ type=‘checkbox‘/>").html(obj.comtime).appendTo(inputtd); } else { $("<input name=‘yn‘ type=‘checkbox‘/>").html(obj.comtime).appendTo(inputtd); } inputtd.appendTo(tr); var atd = $("<td/>"); $("<a href=‘#‘class=‘aupdate‘></a> ").html("详细 ").appendTo(atd).data("id",obj.comid); $("<a href=‘#‘ class=‘adel‘></a> ").html(" 删除").appendTo(atd).data("id",obj.comid); atd.appendTo(tr); $("#com").append(tr); c.close(); }); },complete: function () { //请求完成时的事件,不论成功或失败 $("#hint").html("请求完成..."); },error: function (xhr,textStatus,errorThrown) { //错误时 alert(xhr + textStatus + errorThrown); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |