发布时间:2023-04-24 文章分类:WEB开发, 电脑百科 投稿人:李佳 字号: 默认 | | 超大 打印

json数据和字符串json数据相互转换

    • 1.json数据和字符串json数据相互转换
    • 2.本地存储(localStorage、sessionStorage)
    • 3.audio的属性、事件、方法
      • 3.1属性
      • 3.2事件
      • 3.3方法
    • 4.video的属性、事件、方法
      • 4.1属性
      • 4.2事件
      • 4.3方法

1.json数据和字符串json数据相互转换

JSON 是一种基于文本的轻量级的数据交换格式。它可以被任何的编程语言读取和作为数据格式来传递。在项目开发中,使用 JSON 作为前后端数据交换的方式。在前端通过将一个符合 JSON 格式的数据结构序列化为 JSON 字符串,然后将它传递到后端,后端通过 JSON 格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。因为 JSON 的语法是基于 js 的,因此很容易将 JSON 和 js 中的对象弄混,但是应该注意的是 JSON 和 js 中的对象不是一回事,JSON 中对象格式更加严格,比如说在 JSON 中属性值不能为函数,不能出现 NaN 这样的属性值等,因此大多数的 js 对象是不符合 JSON 对象的格式的。

<script>
        var obj = {
            "name":"张三",
            "age":20
        }
        /* 
            JSON.Stringify(要转换的数据):将json数据转换成字符串json数据
            JSON.parse(要转换的数据):将字符串json数据转成真正的json数据
        */
       var res = JSON.stringify(obj);
       console.log(res);//"{"name":"张三","age":20}"
       var res1 = JSON.parse(res);
       console.log(res1);//{"name":"张三","age":20}
    </script>

2.本地存储(localStorage、sessionStorage)

注意:存储数据是键值对的形式存储 存储的格式都是字符串

 //存储
        localStorage.setItem("name","张三");
        localStorage.setItem("age",20);
        localStorage.setItem("isLogin",true)
        var obj = {
            "name":"李四",
            "age":18
        }
        // 如果是json数据存储  需要先用JSON.stringify转换成字符串形式
        localStorage.setItem("obj1",JSON.stringify( obj ) )
        // 获取
        console.log(  localStorage.getItem("age")   );//"20"  string类型
        console.log(  localStorage.getItem("isLogin") )// "true"
        var res = localStorage.getItem("obj1")
        console.log(  JSON.parse(res) ); //{"name":"李四","age":18}
        // 删除
        localStorage.removeItem("user");
        // 手动清空
        localStorage.clear();

3.audio的属性、事件、方法

3.1属性

// 1.属性
        // src 设置获取音频资源路径
        audio.src = "./source/hanmai.mp3";
        // controls 是否显示标签  true/false
        audio.controls = true;
        // muted  是否静音   true/false
        audio.muted = false;
        // loop  是否循环播放   true/false
        audio.loop = false;
        // autoplay  音频是否自动播放  true/false  不是所有的都有效果
        audio.autoplay = true;
        btn[0].onclick = function () {
            // currentSrc 只读属性  获取音频资源地址
            console.log(audio.currentSrc);
            // currentTime  获取当前播放时长
            console.log(audio.currentTime);
            // duration  获取音频的总时长
            console.log(audio.duration)
            // volume  获取设置音频的音量  范围[0,1]
            console.log(audio.volume)
            // pasued  音频是否停止播放  true暂停  false播放
            console.log(audio.paused)
            // ended    音频是否结束播放  true结束  false没有结束
            console.log(audio.ended);
            // playbackRate  获取设置音频速度
            console.log(audio.playbackRate)
            audio.playbackRate = 3;
        }

3.2事件

 // 2.事件  有自己的触发场景
        // oncanplay  开始准备播放音频的时候
        audio.oncanplay = function () {
            console.log("开始准备");
        }
        // onpause   点击播放按钮
        audio.onpause = function () {
            console.log("播放")
        }
        // onended   结束
        audio.onended = function () {
            console.log("结束")
        }
        // ontimeupdate   时间更新
        audio.ontimeupdate = function () {
            console.log("正在播放音频")
        }

3.3方法

    // 3.方法   主动触发某个功能
        btn[1].onclick = function () {
            // console.log(123);
            audio.play();//播放
            audio.pause();//暂停
            audio.load();//重新加载
        }

4.video的属性、事件、方法

4.1属性

4.2事件

4.3方法