`
wgcode
  • 浏览: 576897 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

AS3中JSON的基本应用实例

阅读更多

最近发现有不少通过“AS3 json”关键词搜索过来的朋友,可见还是有很多朋友对这方面关注的。不过现下有关AS3 JSON的文章是少之又少,网上搜索到的基本上也都是那同样的几篇文章转来转去罢了,也包括我之前那篇,也没什么例子。相信会让很多初学的朋友看得云里雾里的,其实我也觉得奇怪,json其实也算蛮简单的,怎么就没人写篇好的教程呢。废话就不多说了,希望转载的朋友能注明一下出处,谢了。

首先,你需要有一个JSON的类库,建议去下载adobe官方提供的产品外类库:as3corelib。类库的使用就不多说了,大家应该都知道。

先说说获取数据。可以这么说,只要你懂AS3与XML的交互,那么就一定能懂JSON,因为两者几乎是一样的,你唯一需要做的只是了解一下JSON的格式。例如下面这个JSON的例子,就像XML一样,你可以通过任何动态页面来生成这个格式,也可以通过静态的甚至TXT来读取也行。

[{"name":"Hans","age":"32"},
{"name":"John","age":"12"},
{"name":"Zaki","age":"34"},
{"name":"Dr. Cox","age":"88"}]

 

AS中的代码:

package {
 import com.adobe.serialization.json.JSON;
 
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 
 public class getJSON extends Sprite {
  public function getJSON() {
   var loader:URLLoader = new URLLoader();
 
   loader.load(new URLRequest( "http://127.0.0.1/json.php" ));//这里是你要获取JSON的路径
   loader.addEventListener(Event.COMPLETE, decodeJSON);
  }
  private function decodeJSON(evt:Event):void {
   var persons:Array = JSON.decode( URLLoader( evt.target ).data );
   //在这里,就可以通过操作数组来应用数据了,很方便
   for (var i=0; i<persons.length; i++) {
    trace( persons[i].name );
   }
  }
 }
}

 是不是很简单呢?在这里我们只用到了decode()这个方法,其实JSON类库要用的也只有两个方法,另一个就是马上要用到的encode()。大家可以理解为编码与解码。发送数据的代码如下:

package {
 import com.adobe.serialization.json.JSON;
 
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.*;
 
 public class sendJSON extends Sprite {
  public function sendJSON() {
   var arr : Array = new Array({"name":"Hans","age":"32"},{"name":"John","age":"12"},{"name":"Zaki","age":"34"},{"name":"Dr. Cox","age":"88"});//这里是要发送的数据,可以直接写,也可以是由其他方法生成,不过要注意格式。
    sendjson( arr );
  }
  private function sendjson( a : Array ):void {
   var jsonString : String = JSON.encode(a);
 
   var urlVariables:URLVariables = new URLVariables();
    urlVariables.json = jsonString;
 
   var urlRequest:URLRequest = new URLRequest(http://127.0.0.1/json.php); //这里是接收数据的动态页。
    urlRequest.method = URLRequestMethod.POST;
    urlRequest.data = urlVariables;
 
   //其实到这已经结束了,下面的XML只是测试结果而已。
    var urlLoader:URLLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, onURLLoaderCompleteEvent);
    urlLoader.load(urlRequest);
  }
  private function onURLLoaderCompleteEvent( evt : Event ):void {
   var xml:XML = new XML(evt.target.data);
   trace(xml);
  }
 }
}

 

 

 

分享到:
评论

相关推荐

    ASP.NET中XML转JSON的方法实例

    本文实例讲述了ASP.NET中XML转JSON的方法,分享给大家供大家参考。具体如下: 一般在许多应用程序中都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理。要实现这一点,它们必须将XML...

    ActionScript 3.0 开发人员指南 (AS3开发帮助文档)

    第 3 章 : 使用数组 第 4 章 : 处理错误 第 5 章 : 使用正则表达式 第 6 章 : 使用 XML 第 7 章 : 使用本机 JSON 功能 第 8 章 : 处理事件 第 9 章 : 使用应用程序域 第 10 章 : 显示编程 第 11 章 : 使用...

    T3AAS:井字游戏(即服务)

    通过在克隆的存储库中运行node src/index.js (默认为端口3000 )来运行自己的T3AAS实例,或使用位于的公共端点(由托管) 。 用法 所有响应都是JSON对象,并采取以下形式: { ok : true , msg : 'In Progress' ,...

    spring_lab:Spring MVC,REST,JPA,JSON,JUnit,引导程序-FullProject

    键入以下命令来构建和部署归档文件: mvn clean install jboss-as:deploy这会将target/spring_lab.war部署到正在运行的服务器实例。访问应用程序该应用程序将在以下URL上运行: 。 您也可以从Codevny运行该应用程序...

    Python数据分析实践:pandas数据结构new.pdf

    2022/3/6 4.1 pandas数据结构 pandas简介 Pandas 是基于NumPy 的一种强大的分析结构化数据的工具,可以从各种文件格式比如CSV、Excel、JSON、SQL导入数据。Pandas提供了大量能使 我们快速便捷处理数据的函数和方法,...

    javascript中2个感叹号的用法实例详解

    的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法。分享给大家供大家参考之用。具体分析如下: javascript中的!!是逻辑”非非”,即是在逻辑“非”的基础上再”非”一次。通过!或!!可以将很多...

    reactparticles.js:用于particles.js的可独立配置的react组件

    使用与原始相同的可下载JSON配置将即插即用粒子插入到现有的React项目中。 使用单独的JSON文件独立配置多个组件。 安装 npm install reactparticles.js 道具 Struts 描述 类型 必需的 ID 唯一标识符 细绳 是的 配置...

    jQuery实现Ajax功能分析【与Flask后台交互】

    本文实例讲述了jQuery实现Ajax功能。分享给大家供大家参考,具体... 它几年前开始流行,然后迅速取代了 XML 在 Web 应用常用数据传输格式中的地位。 如果您使用 Python 2.6 以上版本,JSON 的解析库是开箱即用的。在

    航空公司:巴西巴西的LinhasAéreaséuma nova empressa deaviaçãoqueestáatuando no mercado航空公司,巴西的Esteéum jeje重新设计配方

    在Insomnia应用程序上导入Insomnia.json或单击按钮 要求 或 一个实例 克隆项目并访问文件夹 $ git clone https://github.com/Carlos-Reiss/Airlines.git && cd Airlines 请按照以下步骤 后端 # Starting from the...

    tesfy:轻量级的AB测试和Feature Flag JavaScript库专注于性能

    该库的主要功能是: 轻巧且注重性能实验功能标志使用受众群体定义流量分配粘性桶用法安装npm install tesfy --save初始化用数据文件导入并实例化它。 数据文件是一个json ,它定义了实验并提供了可用的功能。 理想...

Global site tag (gtag.js) - Google Analytics