java web 用json_JavaWeb-----------------Json(一)

1.什么是json?

通俗来说 就是把java对象转换为一个json的字符串,再到浏览器端把json的字符串转换为javascript的对象。

也就是一个序列化和反序列化的过程

a0ad9f55fb90b51a9109acb62c3c651d.png

也就是这样一个过程

2.什么是一个json的对象

[{"name":"JSON","address":"四川省","age":18}]//数据对象格式

但是由于浏览器获得并不是一个json的对象,而是一个json的字符串(json的字符串不具有属性,也就是无法获取到对象里面的值)

var s1="{name:'xyf',age:19}"//普通的字符串,普通字符串没有属性

var p1={name:'yzk',age:18};//普通键值对对象

alert(s1);

alert(p1);

alert(p1.age);

alert(s1.name);

var p2=eval("("+s1+")");//转换对象 eval字符串转换为对象,使用eval将

alert("名称是"+p2.name);

//eval会有安全问题 应该使用json来转换,只有新的浏览器才支持

var s2="[3,5,9]";

var arrl=JSON.parse(s2);

alert(arrl[2]);//得到第三个对象

需要通过转换的方式将其转换为json的对象

方法一:eval方法转换,但是该方法不安全

var p2=eval("("+s1+")");//转换对象 eval字符串转换为对象,使用eval将

方法二:json.parse方法,该方法只支持新版的浏览器

var s2="[3,5,9]";

var arrl=JSON.parse(s2);

alert(arrl[2]);//得到第三个对象

3.服务器端如何封装一个json的字符串呢

方法一:直接拼接,简单粗暴,但是每次都这样就很麻烦

String s="{age:"+u.getAge()+",phoneNum:'"+u.getPhone()+"'}";

方法二:

Gson gson=new Gson();

String s=gson.toJson(u);//遍历所有字段并生成json

resp.getWriter().println(s);

使用谷歌的gson来封装一个字符串

需要导入jar文件到lib下

gson-2.5.jar

同样使用gson来封装字符串有两个问题

1.json不能调用类中的方法,也就是假如你定义一个toString的方法 在浏览器端是无法解析出来的

2.json通过字段来获取封装为字符串,并不是遍历一个类中的所有成员。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值