首页 前端知识 第21节 【jQuery中的Ajax】json数据格式

第21节 【jQuery中的Ajax】json数据格式

2025-02-28 12:02:38 前端知识 前端哥 603 58 我要收藏

JSON数据是目前前端比较流行的。在此之前用的是XML

JSON通常用于在客户端和服务器之间传递数据,是一种轻量级的文本数据交换格式,基于Javascript,采用完全独立于语言的文本格式。

1、json数据格式

[]:中括号保存数组

{}:大括号保存对象

[{}]:数组内是对象---保存的是对象数组

对象以键值对形式存在,key:value

key是字符串,必须加双引号,value可以是js中的任意数据类型(数字,字符串,布尔值类型等)

json的格式数据主要有对象和数组两种形式。

json对象语法

var json对象={key:vavlue,key:value….}

比如:var user={“name”:”zhangsan”,”age”:19}

json数组语法:

var json数组=[value,value,….]

比如:var country=[“广东”,”广西”,”“湖南”]

还可以是对象数组:var json数组=[{ key:vavlue},{key:value….}]

比如:var users=[{“name”:”zhangsan”,”age”:19},{“name”:”lisi”,”age”:29}]

<!DOCTYPE html>

<html>

         <head>

                   <meta charset="utf-8">

                   <title></title>

                   <script src="../js/jquery-1.12.4.js"></script>

         </head>  

         <body>

                   <button>json对象</button>

                   <button>json数组</button>

                   <button>json对象数组</button>

                   <div></div>

         </body>

         <script>

                   //定义一个json对象

                   var student={

                            "stuName":"小张",

                            "age":20,

                            "class":"20计应4"

                   }

                  

                   //获取json对象数据:对象.属性

                   $("button:eq(0)").click(function(){

                            // console.log(student.stuName)

                            $("div").html("姓名:"+student.stuName+"<br>年龄:"+student.age+"<br>班级:"+student.class+"<br>")

                   })

                  

                   //定义一个json数组

                   var city=["东莞","中山","广州","深圳"]

                  

                   //获取json数组元素:用循环遍历

                   $("button:eq(1)").click(function(){

                            for(var i = 0; i < city.length; i++){

                                     // console.log(city[i])

                                     $("div").append(city[i]+"<br>");

                            }

                   })

                  

                   //定义一个json对象数组

                   var users=[{

                            "name":"Lucy",

                            "password":1234

                   },{

                            "name":"Tom",

                            "password":123456

                   },{

                            "name":"Candy",

                            "password":456

                   }]

                  

                   //获取对象数组:用循环遍历

                   $("button:eq(2)").click(function(){

                            for(var i = 0; i < users.length; i++){

                                     // console.log(users[i])

                                     // console.log(users[i].name)

                                     $("div").append(users[i].name+"&nbsp;&nbsp;"+users[i].password+"<br>")

                            }

                   })

                  

         </script>

</html>

2、json字符串转换成json对象

$.parseJSON(jsonStr)

JSON.parse(jsonStr)

3、json对象转换成json字符串

var str=JSON.stringify(jsonObj)

<!DOCTYPE html>

<html>

         <head>

                   <meta charset="utf-8">

                   <title></title>

                   <script src="../js/jquery-1.12.4.js"></script>

         </head>  

         <body>             

         </body>

         <script>

                   //定义一个json对象

                   var jsonObj={"name":"Tom","password":123456}

                   //定义一个json字符串

                   var jsonStr='{"name":"Tom","password":123456}'

                   //控制台打印输出json对象和json字符串,观察它们的区别

                   // console.log(jsonObj);

                   // console.log(jsonStr)

                  

                   //把json字符串转换成json对象:

                   //1、jQuery.parseJSON(str)  相当于 $.parseJSON(str)

                   var obj1=$.parseJSON(jsonStr);

                   // console.log(obj1)

                  

                   //2、JSON.parse(str)

                   var obj2=JSON.parse(jsonStr)

                   // console.log(obj2)

                  

                   //把json对象转换成json字符串:JSON.stringify(obj)

                   var str=JSON.stringify(jsonObj);

                   console.log(str);                

         </script>

</html>

4、json数据应用:简单的调色板

<!DOCTYPE html>

<html>

         <head>

                   <meta charset="utf-8">

                   <title></title>

                   <style>

                            div{

                                     width: 200px;

                                     height: 200px;

                                     background-color: rgb(0, 0, 0);

                            }

                           

                   </style>

                   <script src="../js/jquery-1.12.4.js"></script>

         </head>

         <body>

                  

                   <div></div>

                   R: 0  <input type="range" min="0" max="255" value="0"/><span>255</span><br>

                   G: 0  <input type="range" min="0" max="255" value="0"/><span>255</span><br>

                   B: 0  <input type="range" min="0" max="255" value="0"/><span>255</span><br>

                  

         </body>

         <script>   

                   //定义一个json对象存储r,g,b的值

                   var color={

                            "R":0,

                            "G":0,

                            "B":0

                   }

                   $("input:eq(0)").on("input",function(){

                            var r=$(this).val();  //获取当前的input的值                         

                            $("span:eq(0)").text(r);//把获取到的值设置到span标签内容

                            color.R=r;

                            // console.log(color.R+" "+color.G+" "+color.B)

                            changeColor(color)

                   })

                  

                   $("input:eq(1)").on("input",function(){

                            var g=$(this).val();  //获取当前的input的值                         

                            $("span:eq(1)").text(g);//把获取到的值设置到span标签内容

                            color.G=g;

                            changeColor(color)                    

                   })

                  

                   $("input:eq(2)").on("input",function(){

                            var b=$(this).val();  //获取当前的input的值                        

                            $("span:eq(2)").text(b);//把获取到的值设置到span标签内容

                            color.B=b;

                            changeColor(color)                    

                   })

                  

                   //因为设置div的颜色代码都一样,可以把代码单独拿出来封装成一个独立的函数,然后去调用即可

                   function changeColor(color){

                            $("div").css("background-color","rgb("+color.R+","+color.G+","+color.B+")")

                   }

                  

         </script>

</html>

转载请注明出处或者链接地址:https://www.qianduange.cn//article/21900.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!