一、什么是JSON
- JSON(JavaScript Object Notation, JS对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。
- 采用完全独立于编程语言的文本格式来存储和表示数据。
- 简洁和清晰的层次结构使得JSON成为理想的数据交换语言。
- 易于人阅读和编写,同时也易于机器解析和生成。并有效地提升网络传输效率。
在JavaScript语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:
- 对象表示为键值对,数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON键值对是用来保存JavaScript 对象的一种方式,和JavaScript对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号" "包裹,使用冒号:分隔。然后紧接着值:
{"name":"Massimo"}
{"age":"20"}
{"sex":"男"}
JSON和JavaScript对象的关系,其实.可以这么理解:
- JSON是JavaScript对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。
var obj = {a:'hello',b:'World'};//这是一个对象,注意键名也是可以使用引号包括的
var json = '{"a":"hello","b":"World"}';//这是一个JSON字符串,本质是一个字符串
JSON和JavaScript对象互转
- 要实现从JSON字符串转换为JavaScript对象。使用JSON.parse()方法:
var obj = JOSN.parse('{"a":"Hello","b":"World"}');
//结果是 {a:'Hello',b:'World'}
- 要实现从JavaScript对象转换为JSON字符串,使用JSON.stringify0方法:
var json = JSON.stringify({a:'Hello',b:'World'});
//结果是 '{"a":"Hello","b":"World"}'
二、测试
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
//编写一个js对象
var user = {
name: "马西莫",
age: 20,
sex: "男"
};
//打印
console.log(user);
console.log("===="+"将js对象转换成json字符串"+"====");
var str = JSON.stringify(user);
//打印
console.log(str);
console.log("===="+"将json字符串转换为js对象"+"====");
var user2 = JSON.parse(str);
//打印
console.log(user2);
</script>
</body>
</html>
效果: