Java-JSON
JSON 是用于存储和传输数据的格式
JSON 通常用于服务端向网页传递数据
JSON
- JSON 英文全称 JavaScript Object Notation (它应该被称作Lightweight Ecmascript Object Notation,或简称’LEON’)
- JSON 是一种轻量级的数据交换格式
- JSON是独立的语言
- JSON 易于理解
JSON是一种传递对象的语法,对象可以是name/value对,数组和其他对象
下面是一段JSON的代码
{
"skillz": {
"web": [
{
"name": "html",
"years": "5"
},
{
"name": "css",
"years": "3"
}
],
"database": [
{
"name": "sql",
"years": "7"
}
]
}
}
主要部分:
花括弧,方括弧,冒号和逗号
花括弧表示一个“容器”
方括号装载数组
名称和值用冒号隔开
数组元素通过逗号隔开
{"name": "QinZheng"}
{"age": "3"}
{"sex": "男"}
JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。 文本可以被任何编程语言读取及作为数据格式传递
JSON 格式化后为 JavaScript 对象
JSON 格式在语法上与创建 JavaScript 对象代码是相同的
由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象
JSON 语法规则
- 数据为 键/值 对
- 数据由逗号分隔
- 大括号保存对象
- 方括号保存数组
JSON 数据 - 一个名称对应一个值
JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。
键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:
“name”:“Runoob”
JSON 对象
JSON 对象保存在大括号内
就像在 JavaScript 中, 对象可以保存多个 键/值 对:
{“name”:“Runoob”, “url”:“www.runoob.com”}
JSON 数组
JSON 数组保存在中括号内
就像在 JavaScript 中, 数组可以包含对象:
“sites”:[ {“name”:“Runoob”, “url”:“www.runoob.com”}, {“name”:“Google”, “url”:“www.google.com”}, {“name”:“Taobao”, “url”:“www.taobao.com”} ]
在以上实例中,对象 “sites” 是一个数组,包含了三个对象。
每个对象为站点的信息(网站名和网站地址)
JSON 字符串转换为 JavaScript 对象
要实现从JSON字符串转换为JavaScript 对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}');
//结果是 {a: 'Hello', b: 'World'}
要实现从JavaScript 对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'});
//结果是 '{"a": "Hello", "b": "World"}'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON_张三</title>
</head>
<body>
<script type="text/javascript">
//编写一个js的对象
var user = {
name:"张三",
age:3,
sex:"男"
};
//将js对象转换成json字符串
var str = JSON.stringify(user);
console.log(str);
//将json字符串转换为js对象
var user2 = JSON.parse(str);
console.log(user2.age,user2.name,user2.sex);
</script>
</body>
</html>
相关函数
函数 | 描述 |
---|---|
JSON.parse() | 用于将一个 JSON 字符串转换为 JavaScript 对象 |
JSON.stringify() | 用于将 JavaScript 值转换为 JSON 字符串 |