JSON 教程

JSON 教程

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="https://api.seniverse.com/v3/weather/now.json?key=SRgM4ZKVU_nhcphg3&location=beijing&language=zh-Hans&unit=c">天气</a>
    <form action="114.115.154.154:5111/admin/adminLogin" method="post">
        账号:<input type="text" name="account"><br>
        密码:<input type="password" name="pwd"><br>
        <button type="submit">登录</button>
    </form>
</body>
</html>

json对象

object

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>json对象</title>
</head>

<body>
    <script>
        let json = {
            //键值对  key:value
            'id': '001',
            'name': '张三的',
            'age': 18
        }
        //数组对象
        let stus =
            [
                { 'id': '001', 'name': '张三', 'age': '18' },
                { 'id': '002', 'name': '张2三', 'age': '19' },
                { 'id': '003', 'name': '张3三', 'age': '16' },
            ]
        //访问
        document.write('<h2>' + stus[0].name + '</h2>')
    </script>
</body>

</html>

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>验证码</title>
    <style>
        img{
            height: 80px;
        }
    </style>
</head>
<body>
    <form action="#">
        <input type="text" name="yzm" placeholder="验证码">
        <img src="img/image.png" alt="">
        <input type="submit" value="提交" class="sb">
    </form>
    <script>
        let yan=''//验证码
        document.querySelector('img').onclick=function(){
            //创建对象
            let xmlReq;
            //检查浏览器是否支持XMLHttpRequest
            if(window.XMLHttpRequest){
                xmlReq=new XMLHttpRequest()
            }else{
                xmlReq=new ActiveXObject()//老版本IE使用
            }
            //发送请求
            xmlReq.open('GET',//提交方式
            //url
            'https://route.showapi.com/26-4?appKey=B62A6E7D02b4494E98De7eD05F23602e',true)
            xmlReq.send()
            //获取响应
            xmlReq.onreadystatechange=function(){
                //响应成功
                if (xmlReq.readyState==4&&xmlReq.status==200) {
                    //xmlhttp.responseText响应的数据  字符串格式
                    // alert(xmlReq.responseText)
                    let str=xmlReq.responseText
                    //把字符串转换成json对象
                    let json=JSON.parse(str)
                    // alert(json)
                    // alert(json.showapi_res_body.img_path_https)
                    document.querySelector('img').setAttribute('src',
                    json.showapi_res_body.img_path_https)
                    yan=json.showapi_res_body.text
                }else{
                    console.log('xmlReq.status'+xmlReq.status);
                    console.log('xmlReq.readyState'+xmlReq.readyState);
                }
            }
        }
        //验证
        document.querySelector('.sb').onclick=function(){
            let val=document.getElementsByName('yzm')[0].value
            if(val===yan){
                alert('提交')
            }else{
                alert('验证失败')
            }
        }
    </script>
</body>
</html>
### JSON 教程详解 JSONJavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。以下是关于 JSON 的详细讲解。 #### 一、JSON 数据结构 JSON 支持以下几种基本数据类型[^3]: - **字符串(String)**:由双引号括起来的字符序列,例如 `"Hello World"`。 - **数字(Number)**:包括整数和浮点数,例如 `42` 或 `3.14`。 - **布尔值(Boolean)**:即 `true` 或 `false`。 - **数组(Array)**:值的有序集合,例如 `[1, 2, 3]`。 - **对象(Object)**:键值对的无序集合,例如 `{"key": "value"}`。 - **空值(null)**:表示空数据,例如 `null`。 #### 二、JSON 的优点 JSON 具有以下显著优点: - **轻量级**:相比 XML 等格式,JSON 更加简洁,减少了数据传输量[^3]。 - **易于阅读和书写**:其结构简单,符合大多数开发者的习惯,便于阅读和手动书写[^3]。 - **解析效率高**:JSON 的解析速度非常快,特别适合在浏览器和服务器之间进行数据交互[^3]。 - **良好的语言支持**:几乎所有的编程语言都提供了对 JSON 的良好支持,方便开发者在不同的技术栈中使用。 #### 三、JSON 的常见应用场景 JSON 广泛应用于以下场景: - **Web API 数据传输**:JSON 常用于 RESTful API 的请求和响应格式,用于前后端之间的数据传输[^3]。 - **配置文件**:JSON 格式常用作配置文件,简单明了,易于修改和解析。 - **数据存储**:一些 NoSQL 数据库(如 MongoDB)使用 JSON 或类似 JSON 的格式来存储数据[^3]。 - **跨平台数据交换**:JSON 可以用于不同平台、不同编程语言之间的数据交换,确保数据的一致性和兼容性[^4]。 #### 四、JSON 示例 以下是一个简单的 JSON 数据示例: ```json { "Name": "C语言中文网", "Url": "http://c.biancheng.net/", "Tutorial": "JSON", "Article": [ "JSON 是什么?", "JSONP 是什么?", "JSON 语法规则" ] } ``` 上述 JSON 数据包含了一个网站的基本信息,包括名称、URL、教程主题以及相关文章列表[^1]。 #### 五、如何解析 JSON? 在编程语言中,通常可以使用内置库或第三方库来解析 JSON 数据。例如,在 Python 中可以使用 `json` 模块解析 JSON 字符串: ```python import json # JSON 字符串 json_str = '{"name": "United States", "population": 331002651, "capital": "Washington D.C.", "languages": ["English", "Spanish"]}' # 解析 JSON 字符串为 Python 字典 data = json.loads(json_str) # 输出解析后的数据 print(data) ``` 上述代码展示了如何将 JSON 字符串转换为 Python 字典。 #### 六、JSON 的高级特性 - **JSONB**:在 PostgreSQL 中,JSONB 提供了对 JSON 数据的高效索引和查询支持[^2]。 - **TopoJSON**:这是一种基于 JSON 的地理数据格式,适用于地图绘制等场景[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值