猿客栈

JSON概念及语法

2020-01-16  本文已影响0人  Kkite

一、概念

JSON(JavaScript Object Notation): JavaScript对象表示法
  Person p = new Person();
  p.setName("张三");
  p.setAge(23);
  p.setGender("男");

  var p = {"name":"张三","age":23,"gender":"男"};

二、语法

1.基本规则

数据在键/值对中:json数据是由键值对构成的
  使用引号(单双都行)引起来,也可以不使用引号
  值的取值类型:
    1.数字(整数或浮点数)
    2.字符串(在双引号中)
    3.逻辑值(true或false)
    4.数组(在方括号中){"person":[{},{}]}
    5.对象(在花括号中){"address":{"province":"陕西"...}}
    6.null
数据由逗号分隔:多个键值对由逗号分隔
花括号保存对象:使用{}定义json格式
方括号保存数组:[]

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>JSON语法</title>
    <script>
        //1.定义基本格式
        var person = {"name":"张三", age:23, 'gender':true};
        // alert(person);

        //获取name值
        // var name = person.name;
        var name = person["name"];
        // alert(name);

        //2.嵌套格式  {} -> []
        var persons = {
            "persons":[
                {"name":"张三", "age":23, "gender":true},
                {"name":"李四", "age":24, "gender":true},
                {"name":"王五", "age":22, "gender":false}
            ]
        };
        // alert(persons)

        //获取王五
        var name1 = persons.persons[2].name;
        // alert(name1);

        //3.嵌套格式  [] -> {}
        var ps = [{"name":"张三", "age":23, "gender":true},
                {"name":"李四", "age":24, "gender":true},
                {"name":"王五", "age":22, "gender":false}];
        // alert(ps);

        //获取李四
        alert(ps[1].name);

    </script>
</head>
<body>
    
</body>
</html>



json中的遍历

<!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>json数据语法-遍历</title>
    <script>
        var person = {"name":"张三", age:23, 'gender':true};

        var ps = [{"name":"张三", "age":23, "gender":true},
                {"name":"李四", "age":24, "gender":true},
                {"name":"王五", "age":22, "gender":false}];

        //获取person对象中所有的键和值
        //for in 循环
        // for(var key in person){
        //     //这样的方式获取不行。因为相当于 person."name"
        //     //alert(key+":"+person.key);
        //     alert(key+":"+person[key]);
        // }

        //获取ps中的所有值
        for(var i = 0; i < ps.length; i++){
            var p = ps[i];
            for(var key in p){
                alert(key + ":" + p[key]);
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

如有错误或建议欢迎大家指出与评论哈,希望这篇博文能帮助到大家,大家也可以分享给需要的人。

如需转载,请注明出处。https://www.jianshu.com/p/84df7471f8c4

上一篇下一篇

猜你喜欢

热点阅读