`

ext2.2学习笔记三

    博客分类:
  • AJAX
阅读更多

Ext中有两个很重要的方法,一个是decode;一个是encode.顾名思义,一个是编码,一个是解码,你难道真的这么想吗?严格的说,一个是将json字符串转换成对象;一个是将对象转换成json字符串

在述说这个例子之前,我假想你已经知道什么是Json数据了,那么在这里在温习一下吧:

JSON(JavaScript Object Notation) 是一种数据交换格式,采用完全独立于语言的文本格式;
JSON建构于两种结构:“名称/值”对的集合和值的有序列表
下面详细说明下:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、 ture、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
空白可以加入到任何符号之间

------------------------以下来自百度的最新报告

下面介绍Ext中两个很重要的方法,其实,Ext中没有多余的方法,每个方法都能够恰当好处的发挥它的作用,这里指它很重要,是因为它们太常用了,尤其是在与数据库交换数据的时候
Ext中有两个很重要的方法,一个是decode;一个是encode.顾名思义,一个是编码,一个是解码,你难道真的这么想吗?
严格的说,一个是将json字符串转换成对象;一个是将对象转换成json字符串

下面这个示例主要介绍的是Ext.decode()和Ext.encode()的用法,其中使用到了json格式的串,首先是用到了Ext.decode()方法,将json格式的串转换成对象,然后通过对象访问对象所包含的各个属性的值,通过消息框把它们显示出来;之后在用Ext.encode()将已经生成的对象转换成开始定义的json格式的串,也通过消息框把它们显示出来,加了一个函数,使得在第一个消息框弹出3秒钟后再弹出第二个消息框

 

代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
<script type="text/javascript" src="../examples.js"></script>
 <title>测试Ext.decode()和Ext.encode()方法</title>
</head>
<body>
   <form id="form1" >
    <div>
    <script type="text/javascript">
 function ready()
    {
        //再用一个示例说明下如何使用decode和encode,现在我们已经知道什么是json数据格式了,也知道它的作用和语法了
        //现在我们就开始演练吧
        //先使用decode方法,这个方法是将json字符串转换成对象的
       
        //第一步:先定义一个json字符串吧
        var 刘天王 = "{姓名:'刘德华',性别:'男',老家:'香港'}";
       
        //第二步:现在我们要把刘天王转换成对象了
        var who = Ext.decode(刘天王);
       
        //第三步:who成了对象后就相当于是类的对象了,里面的姓名,性别,老家都成了who的属性了,现在知道怎么通过对象访问属性了吧
        var name = who.姓名;    //获取who对象的[姓名]属性
        var sex = who.性别;     //获取who对象的[性别]属性
        var home = who.老家;    //获取who对象的[老家]属性
       
        //第四步:下面将获取的信息组合起来
        var result = "刘天王资料的信息:姓名是--"+name + ";性别--"+sex+";老家--"+home;
       
        //第五步:我们把获取的who对象的信息用弹出消息的方式显示出来吧
        Ext.Msg.alert("刘天王的资料信息",result);
       
        //以上就是将一个json字符串转换成对象后,再逐个访问对象的属性的示例
       
        //下面使用encode方法
        //encode方法很简单了,就是将上面生成的who对象再转换成第一步定义的json字符串
        
        //定义一个到时间执行的函数
        var getJson = function()
        {
            //你完全可以把这段写在函数外面,之所以包含在里面纯属是为了在显示第一个消息框后再隔3秒显示下面这个消息窗口
           
            var jsonStr = Ext.encode(who);
           
            //我们还是通过弹出消息的方式把这个json字符串显示出来吧
            Ext.Msg.alert("jsonStr信息内容",jsonStr);
        };
       
        //下面这个方法意思是:在3秒之后会调用函数getJson执行里面包含的脚本
       
        setTimeout(getJson,3000);
       
        //补充点东西
       
        //Ext.decode()和Ext.encode()分别是是 Ext.util.JSON.decode()和Ext.util.JSON.encode的简写
       
    }
    Ext.onReady(ready);
    </script>
    </div>
    </form>
</body>
</html>

 

 

  • 大小: 8.4 KB
  • 大小: 6.5 KB
分享到:
评论

相关推荐

    EXT_2.2使用的js文件

    EXT使用的时候,需要引用js文件,在博客中,ext的学习笔记(1)详细介绍了用法,欢迎使用

    ext JS 源码和学习资料

    2. Ext2.2API中文版(最终完成版).CHM:此文档为EXT JS 2.2版本的中文API,虽然版本较旧,但对于理解EXT JS早期版本的开发模式和组件结构仍然有参考价值。 三、EXT JS 实用教程与开发指南 1. EXT_JS实用教程.doc:...

    老师整理的extjs学习笔记

    ### ExtJS 学习笔记概览 #### 一、ExtJS 入门 **1.1 ExtJS 构成及如何引用** ExtJS 是一款基于 JavaScript 的开源框架,专为 Web 应用程序的前端界面设计。其核心优势在于提供了一套丰富的 UI 组件和强大的数据...

    阿里P8 架构师整理Java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 一、JVM与内存管理 **1.1 JVM基本概念** - **JVM(Java Virtual Machine)**: Java虚拟机是执行Java字节码的虚拟机,它提供了运行Java程序所需的环境。 **1.2 线程** - **线程...

    GRUB 学习笔记 引导LINUX和XP

    ### GRUB 学习笔记 —— 引导 Linux 和 XP #### 1. 启动管理器概述 启动管理器是一段重要的程序,通常被放置于磁盘的开始扇区,比如硬盘上的主引导记录(Master Boot Record, MBR)。当计算机完成自检后,BIOS...

    linux知识学习笔记

    ### Linux知识学习笔记 #### 一、Linux操作系统概述 Linux是一种开源、免费的类Unix操作系统,自1991年由芬兰学生Linus Torvalds创建以来,迅速在全球范围内获得了广泛的关注和支持。它不仅具备强大的稳定性,还...

    Liferay6 官方培训学习笔记

    ### Liferay6官方培训学习笔记:开发环境搭建与数据库配置详解 #### 一、开发环境搭建 Liferay是一款基于Java的开源企业级门户框架,它提供了丰富的功能和强大的定制能力,适用于构建各种复杂的Web应用程序。在...

    Extjs参考文档

    《Ext2.2 API中文版(最终完成版).CHM》是EXTJS 2.2版本的API中文手册,涵盖了该版本的所有类、方法、属性和事件,是开发者日常编程的重要参考。通过这个文档,你可以快速查找EXTJS 2.2中的各个组件和功能,理解其...

    深入Java虚拟机JVM类加载学习笔记

    ### 深入Java虚拟机JVM类加载学习笔记 #### 一、Classloader机制解析 在Java虚拟机(JVM)中,类加载器(ClassLoader)是负责将类的`.class`文件加载到内存中的重要组件。理解类加载器的工作原理对于深入掌握JVM以及...

    OMAP_L138学习笔记之 EMIFA(External Memory Interface A)

    ### OMAP_L138 学习笔记之 EMIFA(External Memory Interface A) #### EMIFA 概述 在 OMAP_L138 微处理器中,EMIFA(External Memory Interface A)作为一个重要的组成部分,提供了对外部存储器(如 NOR Flash、...

    Ext相关随笔

    #### 2.2 不足之处 - **框架复杂度**:由于其提供了大量的功能,导致框架整体较为复杂,对于新手来说可能存在一定的学习曲线。 - **体积较大**:特别是当引入`ext-all.js`这样的全功能文件时,即使经过压缩,文件...

    LR的RHCE6笔记3

    ### RHCE6 学习笔记知识点总结 #### 一、RHEL6.1无人值守安装 ##### 1.1 配置FTP服务器放置安装源 - **步骤**: - 插入安装光盘。 - 将光盘挂载到`/var/ftp/pub`目录:`mount /dev/cdrom /var/ftp/pub`。 - ...

    项目总结+项目心得体会

    首先,我们看到"Ext3.2中文API(最终完成版2010-12-05).CHM"和"Ext2.2API中文版(最终完成版).CHM",这两个文件都是关于ExtJS的API文档。ExtJS是一个基于JavaScript的开源富客户端框架,用于构建桌面级的Web应用。...

    Python笔记——nextworkx有向图

    版本:networkx==2.2, matplotlib==1.5.1, numpy==1.11.0 官方文档:https://networkx.github.io/documentation/networkx-2.2/ 参考:https://www.cnblogs.com/minglex/p/9205160.html 创建图 import networkx as ...

    基于硬盘安装方式的LINUX系统安装操作系统作业报告.pdf

    * 选择进入分区1,然后EXT3格式化磁盘分区 * 正在进行格式化分区 * 正在进行安装 * 安装成功后界面 3.实验结果 通过本实验,我们成功地安装了WIN2003 SERVER和RED HAT LINUX 9.0的双系统,总结了实验的步骤和相关...

    成为Android数据流大师-改变从此开始

    可以在命令行工具中使用`dd`命令或者使用`mkfs.ext3`工具来创建一个特定大小的文件作为SD卡的镜像。 - **装载SD卡**:使用`mount`命令将创建好的镜像文件挂载到模拟器的指定位置。 - **复制文件**:通过`cp`命令将...

Global site tag (gtag.js) - Google Analytics