JSON
json基础
全称JavaScript Object Notation,JSON是一个标记符的序列。这套标记符包含六个构造字符,字符串,数字和三个字面名。
其中六个字符串是:左右方括号,左右大括号,冒号和逗号,而在这六个构造字符的前或后允许存在无意义的空白字符串。
Json值
其值可以是对象,数组,数字字符串,或者三个字面值:false,null,true。
对象:
如:{"name":"John","age": 15,"address":{"country":"china","zip-code","11111"}}
数组:
如:[1,2,3,4,5,6,76,9]
Json对象和Json字符串的关系
Json对象是一个对象
var obj = {a:“a”,b:“b”};这是一个对象
var jsonstr = ‘{“a”:“a”,“b”:“b”}’;这是一个json形式的字符串
Json对象与字符串之间的转换
var obj = JSON.parse('{"a":"a","b":"b"}');
var jsonstr = JSON.stringify({a:"a",b:"b"});
重点:前后台的Josn格式传值
由于目前趋势是前后端分离,所以目前使用ajax传json格式的数据用的较多。
前台向后台传数据
1.ajax传值到后台,
可以使用注解的方式获取
@Param()
可以通过req.getParameter()方式获取值。
后台向前台传值
1.前台请求数据处理,并跳转新页面。
常用response.setAttribute()方式传入值到新界面,
setAttribute()传值是以key:Object的格式传递的
Object可以是简单类型的值,和对象类型的值,
而这种方式传递的对象,可以在前台的jsp界面通过${}的方式取值,对象类型的值在前台获取到之后是一个字符串类型的对象。
所以在这种情况下,传单个值通常会用简单类型,而传数组就会用到JSONArray和JSONObject,来对数据进行包装,这样传递到前台的值是一个字符串类型的json对象,通过JSON.parse()可以方便地转换陈对象类型。方便取值
2.前台请求数据处理,并接收返回的数据,或者只请求数据。
这种情况下并不跳转页面,返回的数据(简单类型,对象类型)可以通过直接return 的方式返回到前台,
前台需要在发出请求的ajax体内添加回调,在回调中获取数据,并对数据进行处理。