PHP 文件解释:
·将请求转换为对象,使用 PHP 函数 json_decode()。
·访问数据库,用所请求的数据填充数组。
·把数组添加到对象,使用 json_encode() 函数以 JSON 返回该对象。
<?php header("Content-Type: application/json; charset=UTF-8"); $obj = json_decode($_GET["x"], false); $conn = new mysqli("myServer", "myUser", "myPassword", "Northwind"); $result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit); $outp = array(); $outp = $result->fetch_all(MYSQLI_ASSOC); echo json_encode($outp); ?>4.存储数据
在存储数据时,数据必须是某种具体的格式,并且无论您选择在何处存储它,文本永远是合法格式之一。
JSON 让 JavaScript 对象存储为文本成为可能。
把数据存储在本地存储中
//存储数据:
myObj = { name:“Bill Gates”, age:62, city:“Seattle” };
myJSON = JSON.stringify(myObj);
localStorage.setItem(“testJSON”, myJSON);
//接收数据:
text = localStorage.getItem(“testJSON”);
obj = JSON.parse(text);
document.getElementById(“demo”).innerHTML = obj.name;
5.XML和JSON
(1)类似 XML
• JSON 是纯文本
• JSON 具有“自我描述性”(人类可读)
• JSON 具有层级结构(值中存在值)
• JSON 可通过 JavaScript 进行解析
• JSON 数据可使用 AJAX 进行传输
(2)相比 XML 的不同之处
• 没有结束标签
• 更短
• 读写的速度更快
• 能够使用内建的 JavaScript eval() 方法进行解析
• 使用数组
• 不使用保留字
(3)为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
·使用 XML
读取 XML 文档
使用 XML DOM 来循环遍历文档
读取值并存储在变量中
Bill
Gates
Steve
Jobs
Elon
Musk
·使用 JSON
读取 JSON 字符串
用 eval() 处理 JSON 字符串
{“employees”:[
{ “firstName”:“Bill”, “lastName”:“Gates” },
{ “firstName”:“Steve”, “lastName”:“Jobs” },
{ “firstName”:“Elon”, “lastName”:“Musk” }
]}
(二)json语法
1.JSON 语法是 JavaScript 语法的子集
• 数据在名称/值对中
• 数据由逗号分隔
• 花括号容纳对象
• 方括号容纳数组
2. JSON 数据- 名称和值
JSON 数据写为名称/值对。
名称/值由字段名称构成,后跟冒号和值
JSON 名称需要双引号。而 JavaScript 名称不需要。
JSON – 求值为 JavaScript 对象
JSON 格式几乎等同于 JavaScript 对象。
在 JSON 中,键必须是字符串,由双引号包围,字符串方法时最外边用单引号括起:
'{ “name”:“Bill Gates” } '//JSON
在 JavaScript 中,键可以是字符串、数字或标识符名称:
{ name:“Bill Gates” }// JavaScript
3.JSON值
在 JSON 中,值必须是以下数据类型之一:
• 字符串
{ “name”:“John” }
• 数字
{ “age”:30 }
• 对象(JSON 对象)
{
“employee”:{ “name”:“Bill Gates”, “age”:62, “city”:“Seattle” }
}
• 数组
{
“employees”:[ “Bill”, “Steve”, “David” ]
}
• 布尔
{ “sale”:true }
• null
{ “middlename”:null }
外加其他有效的 JavaScript 表达式,包括:
• 函数
JSON 中不允许函数。
JSON.parse()时候如果您需要包含函数,请把它写作字符串。
稍后您可以通过eval(“(” +方法+ “)”)把它转换回函数:
把字符串转换为函数:
var text = ‘{ “name”:“Bill Gates”, “age”:“function () {return 62;}”, “city”:“Seattle”}’;
var obj = JSON.parse(text);
obj.age = eval(“(” + obj.age + “)”);
JSON.stringify() 函数将从 JavaScript 对象删除任何函数,包括键和值
如果您需要函数,在运行 JSON.stringify() 函数前,将函数转换为字符串
var obj = { “name”:“Bill Gates”, “age”:function () {return 62;}, “city”:“Seattle”};
obj.age = obj.age.toString();//先转换
var myJSON = JSON.stringify(obj);
document.getElementById(“demo”).innerHTML = myJSON;
应该避免在 JSON 中使用函数,函数会丢失它们的作用域
• 日期
var text = ‘{ “name”:“Bill Gates”, “birth”:“1955-10-28”, “city”:“Seattle”}’;
var obj = JSON.parse(text);
obj.birth = new Date(obj.birth);
或者您可以已使用 JSON.parse() 函数的第二个参数,被称为 reviver。
这个 reviver
参数是回调函数,在返回值之前,它会检查每个属性。
将字符串转换为日期,使用 reviver 函数:
var text = ‘{ “name”:“Bill Gates”, “birth”:“1955-10-28”, “city”:“Seattle”}’;
var obj = JSON.parse(text, function (key, value) {
if (key == “birth”) {
return new Date(value);
} else {
return value;
}});
document.getElementById(“demo”).innerHTML = obj.name + ", " + obj.birth;
在 JSON 中,不允许日期对象。JSON.stringify() 函数将把任何日期转换为字符串。
var obj = { “name”:“Bill Gates”, “today”:new Date(), “city”:“Seattle”};
var myJSON = JSON.stringify(obj);
document.getElementById(“demo”).innerHTML = myJSON;
• undefined
4.JSON对象
对象可以包含多个名称/值对:
'{ “firstName”:“John” , “lastName”:“Doe” } ’
这一点也容易理解,与这条 JavaScript 语句等价:
firstName = “John”
lastName = “Doe”
5.JSON数组
数组可包含多个对象:
'{
“employees”: [
{ “firstName”:“John” , “lastName”:“Doe” },
{ “firstName”:“Anna” , “lastName”:“Smith” },
{ “firstName”:“Peter” , “lastName”:“Jones” }
]
} ’
6.JSON 使用 JavaScript 语法来对值或者对象进行操作
7. JSON 文件
JSON 文件的文件类型是 “.json”
JSON 文本的 MIME 类型是 “application/json”
8. eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var txt = ‘{ “employees” : [’ +
‘{ “firstName”:“Bill” , “lastName”:“Gates” },’ +
‘{ “firstName”:“George” , “lastName”:“Bush” },’ +
‘{ “firstName”:“Thomas” , “lastName”:“Carter” } ]}’;
var obj = eval (“(” + txt + “)”);
还是推荐
var obj = JSON.parse(txt);
(三)json对象
1.对象语法
·JSON 对象被花括号 {} 包围。
·JSON 对象以键/值对书写。
·键必须是字符串,值必须是有效的 JSON 数据类型(字符串、数字、对象、数组、布尔或 ·null)。没有日期、undifine、函数类型,需要的话通过一些方式转化。
·键和值由冒号分隔。
·每个键/值对由逗号分隔。
2. 访问对象值
您可以通过使用点号(.)来访问对象值:
myObj = { “name”:“Bill Gates”, “age”:62, “car”:null };
x = myObj.name;
您也可以使用方括号([])来访问对象值:
myObj = { “name”:“Bill Gates”, “age”:62, “car”:null };
x = myObj[“name”];
3.遍历对象
您能够通过使用 for-in 遍历对象属性
在 for-in 循环中,请使用括号标记法来访问属性值:
myObj = { “name”:“Bill Gates”, “age”:62, “car”:null };
for (x in myObj) {
document.getElementById(“demo”).innerHTML += myObj[x];
}
4.嵌套的 JSON 对象
一个 JSON 对象中的值可以是另一个 JSON 对象。
myObj = {
“name”:“Bill Gates”,
“age”:62,
“cars”: {
“car1”:“Porsche”,
“car2”:“BMW”,
“car3”:“Volvo”
}
}
您能够通过使用点号和括号访问嵌套的 JSON 对象:
x = myObj.cars.car2;
//或者:
x = myObj.cars[“car2”];
5.修改值
您能够使用点号来修改 JSON 对象中的任何值:
myObj.cars.car3 = “Mercedes Benz”;
您也可以使用括号来修改 JSON 对象中的值:
myObj.cars[“car3”] = “Mercedes Benz”;
6.删除对象属性
使用 delete 关键词来删除 JSON 对象的属性:
delete myObj.cars.car1;
(四)json数组
1.作为 JSON 对象的数组
[ “Porsche”, “BMW”, “Volvo” ]
JSON 中的数组几乎与 JavaScript 中的数组相同。
在 JSON 中,数组值的类型必须属于字符串、数字、对象、数组、布尔或 null。
在 JavaScript 中,数组值可以是以上所有类型,外加任何其他有效的 JavaScript 表达式,包括函数、日期和 undefined。
2. JSON 对象中的数组
数组可以是对象属性的值:
{
“name”:“Bill Gates”,
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
React
-
介绍一下react
-
React单项数据流
-
react生命周期函数和react组件的生命周期
-
react和Vue的原理,区别,亮点,作用
-
reactJs的组件交流
-
有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
-
项目里用到了react,为什么要选择react,react有哪些好处
-
怎么获取真正的dom
-
选择react的原因
-
react的生命周期函数
-
setState之后的流程
-
react高阶组件知道吗?
-
React的jsx,函数式编程
-
react的组件是通过什么去判断是否刷新的
-
如何配置React-Router
-
路由的动态加载模块
-
Redux中间件是什么东西,接受几个参数
-
redux请求中间件如何处理并发
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
02896)]
[外链图片转存中…(img-nuFrwuYO-1710587302897)]
[外链图片转存中…(img-VUjvys17-1710587302897)]
[外链图片转存中…(img-vRiYEFy2-1710587302897)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-2aCz4lf0-1710587302898)]
React
-
介绍一下react
-
React单项数据流
-
react生命周期函数和react组件的生命周期
-
react和Vue的原理,区别,亮点,作用
-
reactJs的组件交流
-
有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
-
项目里用到了react,为什么要选择react,react有哪些好处
-
怎么获取真正的dom
-
选择react的原因
-
react的生命周期函数
-
setState之后的流程
-
react高阶组件知道吗?
-
React的jsx,函数式编程
-
react的组件是通过什么去判断是否刷新的
-
如何配置React-Router
-
路由的动态加载模块
-
Redux中间件是什么东西,接受几个参数
-
redux请求中间件如何处理并发