json的序列化以及反序列化
java序列化和反序列化就是java对象与一串字节流之间的相互转换,我们在程序中创建的java对象只存在于jvm中,当程序退出时,这些对象就消失,而反序列化
的对象传送给其他jvm来使用,这些序列化的字节流是与jvm无关的,也就是说一个jvm序列化的对象可以在另一个jvm中反序列化
序列化必须实现serializable
无法序列化的属性必须用transient修饰
从后台的map传到前台需要进行序列化 -》
response.setContentType(“application/json”);
response.setHeader(“Cache-Control”, “no-store”);
Map<String,Object> map = new HashMap<String, Object>();
map.put(“1”, sbname);
response.getWriter().write( JSONObject.fromObject(map).toString());
//有人这么序列化 ——》 JSON.Encode(result);
在前端接收需要进行反序列化
(1)function getSbName(){
var sbcode = $('#sbcode').val();
var pars = 'sbcode='+sbcode;
$.ajax({
url:'<%=path%>/tbSbdyyqController.do?getSbName',
type:'post',
data:pars,
dataType:'json',
success:function(data){
var obj = eval(data);//进行反序列化
//查找到有人这么反序列化 var obj = decode(data);
alert(obj.sbanem);//以键取值
}
})
}
(2)function getSbName(){
var sbcode = $('#sbcode').val();
var pars = 'sbcode='+sbcode;
$.ajax({
url:'<%=path%>/tbSbdyyqController.do?getSbName',
type:'post',
data:pars,
dataType:'json',
success:function(data){
$.each(data, function(index,value){
alert(value);
})
$('#sbtitle').val(data[1]);
}
})
}
(3)function getSbName(){
var sbcode = $('#sbcode').val();
var pars = 'sbcode='+sbcode;
$.ajax({
url:'<%=path%>/tbSbdyyqController.do?getSbName',
type:'post',
data:pars,
dataType:'json',
success:function(data){
$('#sbtitle').val(data[1]);
}
})
}