EXTJS学习系列基础篇:第四篇(转载)作者殷良胜,Ext中有两个很重要的方法,一个是decode;一个是encode.顾名思义,一个是编码,一个是解码,你难道真的这么想吗?严格的说,一个是将json字符串转换成对象;一个是将对象转换成json字符串-阿里云开发者社区

开发者社区> 吞吞吐吐的> 正文

EXTJS学习系列基础篇:第四篇(转载)作者殷良胜,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秒钟后再弹出第二个消息框

用图片说明吧

 //下面是将json字符串转换成对象后,通过对象访问属性生成的消息框

 

 //下面是将上面生成的对象又转换成json字符串后生成的消息框

具体看下示例吧

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="testDecode.aspx.cs" Inherits="Test.Example.hello.testDecode" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>测试Ext.decode()和Ext.encode()方法</title>
    <link rel="Stylesheet" type="text/css" href="http://www.cnblogs.com/ExtJS/resources/css/ext-all.css" />
    <link rel="Stylesheet" type="text/css" href="http://www.cnblogs.com/ExtJS/resources/css/xtheme-purple.css" />
    <script type="text/javascript" src="http://www.cnblogs.com/ExtJS/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="http://www.cnblogs.com/ExtJS/ext-all.js"></script>
    <script type="text/javascript" src="http://www.cnblogs.com/ExtJS/ext-lang-zh_CN.js"></script>  
</head>
<body>
    <form id="form1" runat="server">
    <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>

现在这个例子就可以说明Ext.decode()和Ext.encode()方法的完美作用了.

用图片说明吧

 //下面是将json字符串转换成对象后,通过对象访问属性生成的消息框

 

 //下面是将上面生成的对象又转换成json字符串后生成的消息框


本文转自温景良博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/11/03/1325538.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
学习准备(下):计算机基础 | Python从入门到精通:入门篇之二
本章节继续讲授关于计算机基础的课程,包括进制、Python编辑器的安装以及编码方式等。
5098 0
从零开始学习 asp.net core 2.1 web api 后端api基础框架(三)-创建Data Transfer Object
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(三)-创建Data Transfer Object 版权声明:本文为博主原创文章,未经博主允许不得转载。
822 0
JavaWeb初识 认识jsp,基础配置
Servlet是Java代码包裹Html代码 JSP是Html代码包裹Java代码JSP就是一个Java类 例如index.jsp 编译后的文件夹名称就是 index_jsp.java 所以说jsp就是一个Java类,并不是想Html一样是个超文本传输或者是其他什么的JSP就是一个Servlet,jsp继承与Servlet,Servlet有的JSP他都有 JSP的转化过程是>>jsp.
875 0
带你读《跟老男孩学Linux运维:核心基础篇(上)(第2版)》之二:Linux系统介绍与环境搭建准备
本书是一本以企业Linux运维需要的知识为基础的实战型教学图书,书的内容并非大而全,但处处可以体现实战二字,非常多的内容取自于企业实战案例,并结合老男孩十几年的运维经验和教学经验进行梳理。
1208 0
4852
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载