欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > JSON及axios应用

JSON及axios应用

2025/3/19 11:50:09 来源:https://blog.csdn.net/qq_73595043/article/details/146064699  浏览:    关键词:JSON及axios应用

JSON–JS的对象(Java中的字符串)


JSON相对于XML的优势:

JSON更小:相同的信息量来说的话,JSON格式更小

JSON更快:传输速度更快

更容易解析:JSON的解析比XML要简单的多


JSON的语法

1、{} 大括号表示一个JSON的对象

2、[ ]中扩号表示一个JSON的对象的数组


1、对象类型

{属性名1:值1,属性名2:值2,…}

2、数组类型

[

{属性名1:值1,属性名2:值2,…},

{属性名1:值1,属性名2:值2,…},

{属性名1:值1,属性名2:值2,…}

]

3、复杂对象

{

name:value,

sex:value,

hobbies:[

{name:‘足球’,属性名2:值2,…},

{name:‘足球’,属性名2:值2,…}

]

}


json的类型:

1、name必须是string类型–》建议加上一个双引号

2、value必须是如下类型之一:

字符串—》用双引号进行包裹

数字

对象(JSON对象)

数组

布尔

null


<script type="text/javascript">/*json介绍1.定义格式 1:{key:value,key:value,...}2.定义格式 2:[{key:value,key:value,...},{key:value,key:value,...},{key:value,key:value,...},...]3.定义格式 3:{key:value,key:[key:value,key1:value1,...],key:value,...}*/let person={"name":"张三","age":18,"sex":"男","address":"北京",}//1、获取json对象中的value数据//1.1、通过对象名.属性名console.log(person.name);console.log(person.age);// json数组let addr=[{"name":"张三","age":18,"sex":"男","address":"北京"},{"name":"李四","age":19,"sex":"男","address":"上海"   }];//通过遍历数组获取json对象for(let i=0;i<addr.length;i++){console.log(addr[i].name);}console.log(addr[1].address);</script>

axios和JSON的综合使用

1、将相关的数据(通过模版字符串的形式`${}`)拼接到content变量中 -->注意这里的是反引号不是单引号esc键下面的按键

content+=`<tr>

<td>${name}</td>

<td>${id}</td>

<td>${age}</td>

</tr>`
2、通过标签对象的innerHTML属性设置标签中的值(不止是文本)也可以是其他的子标签

具体代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>ajax和json综合</h1>
<!--获取好友列表
-->
<input type="button" value="响应数据是json字符串" onclick="method01()"> <br>
<hr>
<h3>好友列表</h3>
<!--存放查询好友的结果信息-->
<div id="messageDiv"></div>
<table width="500px" cellspacing="0px" cellpadding="5px" border="1px" id="myTable"><tr><th>id</th><th>name</th><th>age</th></tr><!--<tr><td></td><td></td><td></td></tr>--></table></body>
<!--导入axios库-->
<script src="js/axios-0.18.0.js"></script>
<script type="text/javascript">/*需求:向后台发送请求,获取好友列表并显示到页面中说明:后台的url地址: "http://localhost:8080/axiosJsonDemo01Servlet"*/function method01() {//向后台发送请求axios.get("http://localhost:8080/axiosJsonDemo01Servlet").then(Response=>{//测试是否绑定成功// console.log("绑定成功");console.log(Response.data);// 定义一个变量来接收响应的数据变量let result=Response.data;/*result={"flag": "true","message": "查询好友列表成功","valueData": [{"age": 18, "id": '001', "name": '张三'},{"age": 19, "id": '002', "name": '李四'},{"age": 20, "id": '003', "name": '王五'}]}*/ // 1、判断flag的值,如果是true,说明查询成功if(result.flag){// 2、获取message的值let message = result.message;//3、将message的值显示到页面中去--->通过标签对象的innerHTML属性设置标签中的值(不止是文本)也可以是其他的子标签document.getElementById("messageDiv").innerHTML=message;// 4、通过一个变量存储valueData的值let valueData = result.valueData;//4.1定义一个变量用来存储table标签中的内容let content="";// 5、遍历valueData数组,获取数组中的每一个json对象for(let i=0;i<valueData.length;i++){// 6、获取每一个json对象中的数据let id = valueData[i].id;let name = valueData[i].name;let age = valueData[i].age; // 7、将相关的数据拼接到content变量中-->注意这里的是反引号不是单引号esc键下面的按键content+=`<tr><td>${id}</td><td>${name}</td><td>${age}</td></tr>`;}// 打印Content的内容console.log(content);//    8、将content变量中的内容拼接到现有的table标签中去//    document.getElementById("myTable").innerHTML=content;---》错误写法这样显示出来的内容会覆盖掉原来的内容(不显示表头)//    正确的做法:先获取到table标签中的内容,然后将content变量中的内容拼接到原来的内容后面document.getElementById("myTable").innerHTML+=content;}});}
</script></html>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词