博主信息
博文 32
粉丝 0
评论 0
访问量 34965
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JSON基础知识与实战,从服务器端获取JSON数据的方法--2019年5月16日
ChenPJ的博客
原创
1218人浏览过

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);
}

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学