json的介绍
json是 JavaScript Object Notation 的首字母缩写,翻译过来就是javascript对象表示法,这里说的json就是类似于javascript对象的字符串,它同时是一种数据格式,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式。
JavaScript 对象表示法
json的格式
json有两种格式:
- 对象格式
- 数组格式
对象格式:
对象格式的json数据,使用一对大括号({}),大括号里面放入key:value形式的键值对,多个键值对使用逗号分隔。
对象格式的json数据:
{
"name":"tom",
"age":18
}
格式说明:
json中的(key)属性名称和字符串值需要用双引号引起来,用单引号或者不用引号会导致读取数据错误。
数组格式:
数组格式的json数据,使用一对中括号([]),中括号里面的数据使用逗号分隔。
数组格式的json数据:
["tom",18,"programmer"]
实际开发的json格式比较复杂,例如:
{
"name":"jack",
"age":29,
"hobby":["reading","travel","photography"]
"school":{
"name":"Merrimack College",
"location":'North Andover, MA'
}
}
json数据转换成JavaScript对象
json本质上是字符串,如果在js中操作json数据,可以将json字符串转化为JavaScript对象。
示例代码:
是{}就会转成js对象,是[]会转换成数组对象。
var sJson = '{"name":"tom","age":18}';
var oPerson = JSON.parse(sJson);//parse 中文意思 解析
// 操作属性
alert(oPerson.name);
alert(oPerson.age);
小结
- json就是一个javascript对象表示法,json本质上是一个字符串。
- json有两种格式:1. 对象格式, 2. 数组格式
实践代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script>
// 定义两种json字符串数据
//1.对象表示法 属性名称和字符串值需要用双引号引起来
var strjson = '{"name":"wkj","age":18}';
var strjsobj = JSON.parse(strjson);
alert(strjsobj.name+strjsobj.age);
//2.数组表示法
var listjson = '[{"name":"dy","age":18},{"name":"xja","age":18}]';
var listjsboj = JSON.parse(listjson);
alert(listjsboj[1].name+listjsboj[1].age);
</script>
</head>
<body>
</body>
</html>