Web基础复习——JSON

什么是JSON

JavaScript Object Notation,JS对象表示方法。
是轻量级的文本数据交换格式。
与XML类似。

XML和JSON的区别

相同:

  • 都是纯文本
  • 具有“自我描述性”,人类可读
  • 具有层级结构
  • 可通过JS进行解析
  • 数据可使用AJAX进行传输

不同:

对JSON来说:

  • 没有结束标签
  • 更短
  • 读写速度更快
  • 使用数组
  • 无保留字
  • 可使用内建的 JavaScript eval() 方法进行解析

语法

基本语法规则在前面整理 JavaScript 的文章中有提到,不再重复。

创建对象

var animal = [
    {"name":"Cat","Color":"Orange"},
    {"name":"Dog","Color":"Black"},
    {"name":"Rabbit","Color":"White"}
]

访问对象值
var a = animal[0].name;
var b = animal[1]["name"];
两种方式都可以。

循环输出对象属性

for (i in animal[0]) {
        document.getElementById('property').innerHTML += i + "<br>";
}

循环输出对象属性值

for (j in animal[0]) {
        document.getElementById('property').innerHTML += animal[0][j] + "<br>";
}

循环数组啥的balabala都类似,看一眼就融会贯通了,不多写了。主要是懒

以上示例代码运行结果:

对象数组的创建、修改与访问

示例代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>对象数组</title>
</head>
<body>
    <h1>对象数组的创建、修改与访问</h1>
    <p>第一只猫叫<span id = "name1"></span></p>
    <p>第一只猫改名之后叫<span id = "name2"></span></p>

    <script type="text/javascript">
        //创建对象数组
        var cat = [
        {"name":"团团","breed":"英短"},
        {"name":"Nuts","breed":"曼赤肯"},
        {"name":"汤圆","breed":"美短"},
        ];

        //访问对象数组
        document.getElementById('name1').innerHTML = cat[0].name;

        //修改
        cat[0].name = "包子";

        document.getElementById("name2").innerHTML = cat[0].name;
    </script>
</body>
</html>

运行结果:

数据与JS对象相互转换

数据转JS对象:JSON.parse()
JS对象转数据:JSON.stringify()
具体怎么用,在整理JavaScript的文章中有详细示例,这里就不复制粘贴凑字数了。

JSON的整理有部分内容JS里面有提到,就简单略过了,补充了一些之前没有顾到的地方。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容