JSON简介
1. JAVAScript Object Notation是一种轻量级的数据交换格式
2. 具有良好的可读和便于快速编写的特性。
3. 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持)
4. JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。
5. JSON是目前网络中主流的数据传输格式之一,应用十分广泛。
JSON支持的数据类型
我们要学习使用JSON解析,必须对JSON解析的规则原理有深刻的认识和了解,然后才知道它的一个实现原理
JSON里面的数据是以一种键值对的方式存在
(”key”:”value”)中值的类型可以是下面数据类型中的任意一种:
1. 数字(整数或浮点数)
2. 逻辑值(true 或 false)
3. 字符串(在双引号中)
4. null
5. 数组(在方括号中)
6. 对象(在大括号中)
JSON语法规则
JSON的语法规则非常的简单,就是使用
大括号’{}’,
中括号’[]’,
逗号’,’,
冒号’:’,
双引号’“”’。
我们在JSON解析中只有三中情况出现
1.{} 解析’大括号’类型
2. [ ] 解析’中括号’类型
3. 其实只有两种,第三种则是1与2的组合方法,即”{’name’:’李文豪’ ,’hobby’:[‘编程’,’电竞’,’睡觉’]}”
JSON基本语法
Object(对象类型)
用{ }包含一系列无序的key–Value键值对表示,其中Key和Value之间用冒号分割,每个key-value之间用逗号分割。
比如:
`json{
"jsonObj" : { "name" : "李文豪","age" : 24}
}`Array(数组类型)
使用[ ]包含所有元素,每个元素用逗号分隔,元素可以是任意的值
比如:
`json {
"jsonArr" : ["编程","电竞","睡觉"]
}`组合形
`json {
"name" : "李文豪",
"age" : 24,
"jsonObj" : { "name" : "李文豪","age" : 24},
"jsonArr" : ["编程","电竞","睡觉"]
}`
注意事项:
1. JSON的值必须是字面量形式, 不允许使用变量或其它形式
2. JSON中不允许直接写注释
3. JSON格式的文本,文件后缀必须是: `json`
4. JSON文本的MIME类型必须是: `application/json`
JSON实战练习
从服务器端获取JSON格式字符串并在前端页面中显示
JavaScript代码
let btn = document.getElementsByTagName('button').item(0);
let request = new XMLHttpRequest();
btn.addEventListener('click', getData, false);
function getData() {
request.addEventListener('readystatechange', show, false);
request.open('get', 'admin/demo1.php', true);
request.send(null);
}
function show() {
if (request.readyState === 4) {
var h3 = document.getElementsByTagName('h3').item(0);
var obj = JSON.parse(request.responseText);
h3.innerHTML = obj.name + ',PHP成绩是: ' + obj.grade.php + ',最喜欢: ' + obj.hobby[1];
}
}
表单验证之JSON方式数据传递
JavaScript代码
function F_verify($user_Info, $result_Tip) {
request_Temp.onreadystatechange = function(){
if (request_Temp.readyState === 4 && request_Temp.status === 200) {
let obj = JSON.parse(request.responseText);
switch (obj.status) {
case 1:
$result_Tip.style.color = 'red';
$result_Tip.innerHTML = obj.message;
break;
case 2:
$result_Tip.style.color = 'red';
$result_Tip.innerHTML = obj.message;
break;
case 3:
$result_Tip.style.color = 'green';
$result_Tip.innerHTML = obj.message;
break;
}
}
return false;
};
request_Temp.open('post','admin/check.php',true);
request_Temp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
let request_Temp = new XMLHttpRequest();
request_Temp.send(data_Temp);
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号