json前端应用

简介: json前端应用

本文主要说明json的基本概念,和一个在Html中使用Json给元素赋值的小例子,属于基础性信息

什么是 JSON ?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言 *
  • JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

相比 XML 的不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字

为什么使用 JSON?

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

---------------------------------------------------------------------------------------------------------

在Html5中使用Json,将Json中的内容给元素赋值,其中涉及CSS样式,JavaScript脚本。具体如下图所示:

具体不多解释,代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>The eightth page</title>
    <style type="text/css">
        #group
        {
            width:400px;
            padding:20px;
            margin:20px;
        }
        input
        {
            margin-left: 10px;
            height: 20px;
        }
        div
        {
            margin-top: 10px;
            height: 20px;
        }
        .t0
        {
            vertical-align: middle;
        }
        input[type="checkbox"]
        {
            vertical-align: middle;
        }
        input[type="radio"]
        {
            vertical-align: middle;
        }
        .t
        {
            height: 20px;
            width: 60px;
            line-height: 20px;
            display: block;
            float: left;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            var txt = {
                "fname": "Alan",
                "fage": 20,
                "flove": ["song", "run", "jump"],
                "fplay": { "basketball": "basketball" },
                "fold": true,
                "fwife": null
            };
            var obj = eval(txt);
            //给文本框复制
            document.getElementById("fname").value = obj.fname;
            document.getElementById("fage").value = obj.fage;
            //给复选框复制
            var objLove = obj.flove;
            var objElements = document.getElementsByName("flove");
            for (var i = 0; i < objLove.length; i++) {
                for (var j = 0; j < objElements.length; j++) {
                    if (objLove[i] == objElements[j].value) {
                        objElements[j].checked = "checked";
                        break;
                    }
                }
            }
            //给单选框复制
            var objPlay = obj.fplay;
            var objPlayElements = document.getElementsByName("fplay");
            for (var i = 0; i < objPlayElements.length; i++) {
                if (objPlayElements[i].value == objPlay.basketball) {
                    objPlayElements[i].checked = "checked";
                    break;
                }
            }
            //给文本框复制
            var old = obj.fold;
            if (old) {
                document.getElementById("fold").value = "very old";
            } else {
                document.getElementById("fold").value = "no old";
            }
            if (obj.fwife == null) {
                document.getElementById("fwife").value = "No wife";
            } else {
                document.getElementById("fwife").value = obj.fwife.ToString();
            }
        }
    </script>
</head>
<body>
    <header>
        <h1>信息录入</h1>
    </header>
    <form name="myForm" id="myForm" action="#" method="post" >
    <fieldset id="group">
    <legend id="group1">Information</legend>
    <div>
        <label class="t"> Name:</label>
        <input type="text" id="fname" />
    </div>
    <div>
        <label class="t"> Age:</label><input type="number" id="fage" />
    </div>
    <div>
        <label class="t"> Love:</label>
        <input type="checkbox" id="chkSong" value="song" name="flove" />
        <label class="t0">Song</label>
        <input type="checkbox" id="chkRun" value="run" name="flove" />
        <label class="t0">Run</label>
        <input type="checkbox" id="chkJum" value="jump" name="flove" />
        <label class="t0">Jump</label></div>
    <div>
        <label class="t"> Play:</label>
        <input type="radio" id="rbFball" value="football" name="fplay" />
        <label class="t0"> FootBall </label>
        <input type="radio" id="tbBall" value="basketball" name="fplay" />
        <label class="t0">BasketBall</label>
    </div>
    <div>
        <label class="t"> Old:</label>
        <input type="text" id="fold" />
    </div>
    <div>
        <label class="t">Wife:</label>
        <input type="text" id="fwife" />
    </div>
    <div>
        <label class="t">DateTime:</label>
        <input type="date"  id="fdatetime" value="目前IE11还不支持datetime类型" />
    </div>
    <div>
        <label class="t">Color:</label>
        <input type="color"  id="fcolor" value="目前IE11还不支持color类型" />
    </div>
    <div>
        <label class="t">Car:</label>
        <input type="text"  id="Color1" list="cars" />
        <datalist id="cars">
            <option value="Bus" />
            <option value="Jeep" />
            <option value="Bench" />
            <option value="BaoMa" />
        </datalist>
    </div>
    <div>
    <input type="submit" value="Submit" id="fsubmit" />
    <input type="reset" value="Reset" id="freset" />
    </div>
    </fieldset>
    </form>
</body>
</html>

备注

早春呈水部张十八员外(其一)

【作者】韩愈【朝代】唐

天街小雨润如酥,草色遥看近却无。

最是一年春好处,绝胜烟柳满皇都。

相关文章
|
7月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
371 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
6月前
|
人工智能 前端开发 JavaScript
AI程序员:通义灵码 2.0应用VScode前端开发深度体验
AI程序员:通义灵码 2.0应用VScode前端开发深度体验,在软件开发领域,人工智能技术的融入正深刻改变着程序员的工作方式。通义灵码 2.0 作为一款先进的 AI 编程助手,与广受欢迎的代码编辑器 Visual Studio Code(VScode)相结合,为前端开发带来了全新的可能性。本文将详细分享通义灵码 2.0 在 VScode 前端开发环境中的深度使用体验。
1012 2
AI程序员:通义灵码 2.0应用VScode前端开发深度体验
|
7月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
417 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
7月前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用
接下来,人与智能体的交互将变得更为紧密,比如 N 年以后是否可以逐渐过渡。这个逐渐过渡的过程实际上是温和的,从依赖人类到依赖超大规模算力的转变,可能会取代我们的一些职责。这不仅仅是简单的叠加关系。对于AI和超大规模算力,这是否意味着我们可以大幅度提升软件质量,是否可以缩短研发周期并提高效率,还有创造出更优质的软件并持续发展,这无疑是肯定的。
408 25
|
7月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
166 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
7月前
|
人工智能 前端开发 JavaScript
智能编码在前端研发的创新应用
在前端开发领域,智能编码技术正引领一场变革,通过大模型的强大能力将自然语言需求直接转化为高效、可靠的代码实现。
300 10
|
10月前
|
前端开发
结合具体案例分析Gitflow分支策略在大型前端项目中的应用优势
通过这个具体案例可以看出,Gitflow 分支策略在大型前端项目中能够提供有条不紊的开发环境,保障项目的稳定性和持续发展。
164 56
|
10月前
|
前端开发 项目管理
Gitflow分支策略及其在前端工程化中的应用
Gitflow 分支策略也并非适用于所有项目。对于一些小型或简单的前端项目,可能会显得过于复杂。在实际应用中,需要根据项目的具体情况和团队的需求进行适当调整和优化。
203 55
|
8月前
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
1224 12
|
7月前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面

热门文章

最新文章