JSON

前端后端传输数据格式的要求

java语言是一种强类型的语言,必须定义类型,然后生成实例,而js却不是,虽然它也是面向对象的,但是它并没有先定义类这一种概念(但是js也有类型),它是基于原型的一种模式,和java完全不同。很显然,二者的原理,机制,语法并不能兼容。二者产生的对象并不能被对方解读。再来看网络传输,通常就是http/tcp协议喽,使用的其实是请求-响应,再说白了即使字符串,不论后台传来的是什么类型的数据,也不论前台传回的什么类型的数据,网络层统统当作字符串处理,它也没有办法来解析类型啊!说到这里,前后台传数据也就只能用字符串了,那也就意味着它们各自都要完成一个转换过程,把要发送的转换成字符串,把要收到的字符串解析成自己的对象。因为传输的字符串会涉及前后台双方的解析和处理,所以双方都必须认识或者知道字符串该怎么转,也就是说,最好能有一种通用的规则来编辑,转换字符串,这个标准或者协议就是JSON,JSON就是用来交换数据的,是一种string,一种独立于平台的数据格式。

这样一来,前台就需要把自己的数据类型转成JSON,然后发给后台,后台在用JSON来解析数据,转换成自己的类型。后台传前台一样。那么,怎么把自己的数据转成JSON呢?

1,如果知道JSON什么格式,完全可以自己拼写string,但是这样不能避免完全正确,而且可能会有安全隐患,那么就用第三方提供的库。

2,在js中,可以使用JSON.stringify()函数,把一个js中的对象转成json的string,也可以使用JSON.parse()函数,把一个json的string转成一个js里的对象。

3,在java中,有JSONObject和JSONArray两个对象,转string就用它们的toString()函数,转对象,就用toBean()和toArray()函数。需要注意的是JSONObject必须是string的键。

代码实现

web

//建立json对象
var json = {};    
//为json对象添加元素
 json.itemType1=itemType1;
 json.itemType2=itemType2;
 json.itemType3=itemType3;
 json.itemdesc=itemdesc;
 //将json对象转化为字符串类型
 var josns = JSON.stringify(json);

后端

        //将json字符串转换成json对象
        JSONObject jsonObject = JSON.parseObject(json);
        //获取json对象里面的数据
        jsonObject.getString("itemType2")
               

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值