JSON序列化和反序列化讲解
⼀、什么是JSON 数据
JSON(JavaScript Object Notation, JS 对象简谱) 是⼀种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的⼀个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。简洁和清晰的层次结构使得JSON 成为理想的数据交换语⾔。 易于⼈阅读和编写,同时也易于机器解析和⽣成,并有效地提升⽹络传输效率。
是JavaScript⽤来处理数据的⼀种格式,⼤部分是⽤来处理JavaScript和web服务器端之间的数据交换,把后台web服务器的数据传递到前台,然后使⽤JavaScript进⾏处理,例如ajax等,是独⽴于语⾔和平台的轻量级的数据交换格式。
⼆、JSON 语法规则
1、JSON语法规则
JS 语⾔中,⼀切都是对象。因此,任何⽀持的类型都可以通过 JSON 来表⽰,例如字符串、数字、对象、数组等。但是对象和数组是⽐较特殊且常⽤的两种类型:
● 对象表⽰为键值对
● 数据由逗号分隔
● 花括号保存对象json转换对象
● ⽅括号保存数组
对象:对象在JS中是使⽤花括号包裹{}起来的内容,数据结构为{key1:value1, key2:value2, ...}的键值对结构。在⾯向对象的语⾔中,key为对象的属性,value为对应的值。键名可以使⽤整数和字符串来表⽰。值的类型可以是任意类型。
{"firstName": "Brett", "lastName": "McLaughlin"}
数组:数组在JS中是⽅括号[]包裹起来的内容,数据结构为[".NET", "Javascript", "Python", ...]的索引结构。在JS中,数组是⼀种⽐较特殊的数据类型,它也可以像对象那样使⽤键值对,但还是索引使⽤得多。同样,值的类型可以是任意类型。
{
"people": [{
"firstName": "zhang",
"lastName": "san"
},
{
"firstName": "li",
"lastName": "si"
}
]
}
2、JSON 键/值对
JSON键值对是⽤来保存JS对象的⼀种⽅式,和JS对象的写法也⼤同⼩异,键/值对组合中的键名写在前⾯并⽤双引号""包裹,使⽤冒号:分隔,然后紧接着值: {"firstName": "Json"} ,这很容易理解,等价于这条 JavaScript 语句: {firstName : "Json"} 。
3、JSON 与 JS 对象的关系
JS对象的关系,可以这么理解:JSON 是 JS 对象的字符串表⽰法,它使⽤⽂本表⽰⼀个 JS 对象的信息,本质是⼀个字符串。如:
var obj = {a: 'Hello', b: 'World'}; //这是⼀个对象,注意键名也是可以使⽤引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是⼀个 JSON 字符串,本质是⼀个字符串
三、JavaScript JSON 序列化和反序列化
要实现从对象转换为 JSON 字符串,使⽤ JSON.stringify() ⽅法
//要实现从 JSON 转换为对象,使⽤ JSON.parse() ⽅法:
//要实现从对象转换为 JSON 字符串,使⽤ JSON.stringify() ⽅法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'
//要实现从 JSON 转换为对象,使⽤ JSON.parse() ⽅法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}
四、.Net Newtonsoft.Json 序列化和反序列化
五、.Net 5.0 序列化使⽤
更多:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论