json的介绍

json是 JavaScript Object Notation 的首字母缩写,翻译过来就是javascript对象表示法,这里说的json就是类似于javascript对象的字符串,它同时是一种数据格式,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式。

JavaScript 对象表示法

json的格式

json有两种格式:

  1. 对象格式
  2. 数组格式

对象格式:

对象格式的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>