本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于json对象的相关问题,javascript object notation用于存储和交换文本信息的语法,进行数据的传输,json比 xml 更小、更快,更易解析,下面一起来看一下,希望对大家有帮助。
【相关推荐:javascript视频教程、web前端】
jsonjavascript object notation -javascript
用于存储和交换文本信息的语法,进行数据的传输,json比 xml 更小、更快,更易解析。
var person = {name: 张三, age: 23, 'gender': true};var ps = [{name: 张三, age: 23, gender: true}, {name: 李四, age: 24, gender: true}, {name: 王五, age: 25, gender: false}];
json字符串var b='{name:2323,sex:afasdf,age:6262}';//json字符串 console.log(b);//{name:2323,sex:afasdf,age:6262} alert(typeof(b));//string
序列化将数据结构或是对象 转换为 二进制串(字节序列)的过程 用来数据的传输 (把数据装换成json字符串 后端配合@reponsebody来进行数据的接受和传递)
前端有 json对象和json字符串后端有 对象 和json字符串后端是java对象,想用json的格式将数据传输,就要进行序列化操作。
java对象序列化了才可以在网络上传输,或者保存到硬盘上。
序列化完就变成了json字符串了 通过jackson这个序列化框架序列化
在后端通过在controller上面加@reponsebody注解 将从service层获取到的java对象转化为json格式对象,传输到前端
在controller的请求参数前加@reponsebody 就可以将前端传过来的json格式的数据接收
前端的序列化和反序列化将json对象序列化成json字符串: json.stringify(json对象)–前端把数据序列化了 传给后端反序列化:将json字符串反序列化为对象: json.parse(str)–后端传过来的序列化过的数据后端的序列化和反序列化序列化是 java对象->json字符串。反序列化是 json字符串->java对象后端序列化和反序列化的方法一这个objectmapper对象是jackson包下面的,这是他的依赖
b4b38e33757a6497aa8690936b905cc1 05a8acc5c31084a4f61ade01873802cacom.fasterxml.jackson.core192ca2f7b8c770b01c8f81e6bdd5b947 9bc4cbb67f66e148869423c0d27e5f90jackson-databindb68fb17cb904a46b73e6272850323873 3d689bd3819ead35ed794427bd12f4592.8.383a577b3f930c490b31329be5e672d0b 09a0e22e5aaafd848ae04665be625b91
//类属性,private static final objectmapper mapper = new objectmapper();//序列化-----usermaplist是listbe1cdaf6779910b92a0a47fc24e82b4f的格式,现在我们需要将list集合序列化为json字符串mapper.writevalueasstring(usermaplist);//反序列化---json格式的字符串要反序列化为对象mapper.readvalue(你要反序列化的json字符串,new typereference5ffa1bc620359d13a5b754cd7e8e7c40() {});
序列化:将js中的对象转化成json格式,序列化的两个参数:过滤器和选项。
var person = {username: ‘luohao’,password: 123456,location: ‘whu’}
参数是一个数组,出现在数组中的属性才会序列化,其余属性忽略不计。
var json = json.stringify(person, [‘username’, ‘password’]);console.log(json);{“username”:“luohao”,“password”:123456}
var person = {username: ‘luohao’,password: 123456,location: ‘whu’,hometown: ‘wuhan’,}var json = json.stringify(person, function filter(key, value) {switch(key) {case ‘location’: return undefined;case ‘hometown’: return undefined;default: return value;}});console.log(json);{“username”:“luohao”,“password”:123456}
json.stringify()中的第三个参数表示缩进的空格数,这样传输的数据可读性比较好。
var person = {username: ‘luohao’,password: 123456,location: {province: ‘hubei’,city: ‘wuhan’,county: ‘qichun’},hometown: ‘wuhan’,}var json = json.stringify(person, function filter(key, value) {switch(key) {case ‘hometown’: return undefined;default: return value;}});console.log(json);{“username”:“luohao”,“password”:123456,“location”:{“province”:“hubei”,“city”:“wuhan”,“county”:“qichun”}}
var person = {username: ‘luohao’,password: 123456,location: {province: ‘hubei’,city: ‘wuhan’,county: ‘qichun’},hometown: ‘wuhan’,}var json = json.stringify(person, function filter(key, value) {switch(key) {case ‘hometown’: return undefined;default: return value;}}, 2);console.log(json);{“username”: “luohao”,“password”: 123456,“location”: {“province”: “hubei”,“city”: “wuhan”,“county”: “qichun”}}
【相关推荐:javascript视频教程、web前端】
以上就是示例解析json对象json字符串的序列化与反序列化的详细内容。