- 浏览: 98808 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chensong215:
无法获取到ProgressEvent中的bytesTotal
自定义DownloadProgressBar -
qq2464785999:
非常感谢。
测试后,发现要用相对路径的话,好像要这么写
va ...
Flex写XML文件
近发现有不少通过“AS3 json”关键词搜索过来的朋友,可见还是有很多朋友对这方面关注的。不过现下有关AS3 JSON的文章是少之又少,网上搜索到的基本上也都是那同样的几篇文章转来转去罢了,也包括我之前那篇,也没什么例子。相信会让很多初学的朋友看得云里雾里的,其实我也觉得奇怪,json其实也算蛮简单的,怎么就没人写篇好的教程呢。废话就不多说了,希望转载的朋友能注明一下出处,谢了。
首先,你需要有一个JSON的类库,建议去下载adobe官方提供的产品外类库:as3corelib。类库的使用就不多说了,大家应该都知道。
先说说获取数据。可以这么说,只要你懂AS3与XML的交互,那么就一定能懂JSON,因为两者几乎是一样的,你唯一需要做的只是了解一下JSON的格式。例如下面这个JSON的例子,就像XML一样,你可以通过任何动态页面来生成这个格式,也可以通过静态的甚至TXT来读取也行。
1
2
3
4
[{"name":"Hans","age":"32"},
{"name":"John","age":"12"},
{"name":"Zaki","age":"34"},
{"name":"Dr. Cox","age":"88"}]
AS中的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()。大家可以理解为编码与解码。发送数据的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
}
}
首先,你需要有一个JSON的类库,建议去下载adobe官方提供的产品外类库:as3corelib。类库的使用就不多说了,大家应该都知道。
先说说获取数据。可以这么说,只要你懂AS3与XML的交互,那么就一定能懂JSON,因为两者几乎是一样的,你唯一需要做的只是了解一下JSON的格式。例如下面这个JSON的例子,就像XML一样,你可以通过任何动态页面来生成这个格式,也可以通过静态的甚至TXT来读取也行。
1
2
3
4
[{"name":"Hans","age":"32"},
{"name":"John","age":"12"},
{"name":"Zaki","age":"34"},
{"name":"Dr. Cox","age":"88"}]
AS中的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()。大家可以理解为编码与解码。发送数据的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
}
}
发表评论
-
flex 自定义多个命名空间以及标签名
2013-01-22 15:21 1285flex 自定义多个命名空 ... -
FLEX中使用AS动态创建DataGrid
2013-01-09 16:24 894FLEX中使用AS动态创建DataGrid 2010年2月6日 ... -
flex与flash之间相互调用
2012-12-12 12:39 615http://www.cnblogs.com/kaixuan/ ... -
Flex与Flex创建的swf通信
2012-12-12 10:16 716加载子SWF的Flex程序代码 <?xml vers ... -
[AS3]加载视频(FLV)文件
2012-12-06 15:11 854[AS3]加载视频(FLV)文件 分类: FLEX/CS3-- ... -
通过FileReference打开本地图片崩溃的解决方法
2012-12-06 14:02 711通过FileReference打开本地图片崩溃的解决方法 最近 ... -
使用FileReference的load()方法加载本地图片
2012-12-06 13:56 9101、要想使用FileReference的load()方法和da ... -
[AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
2012-12-06 13:48 755[AS3]Bitmap序列化(将BitmapData保存为原生 ... -
as3 画五角星算法
2012-12-05 16:49 2606as3 画五角星算法 阅读:10次 时间:2012-03- ... -
flex嵌入完整html
2012-11-29 11:18 806有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTM ... -
flex4 textArea的htmlText属性
2012-11-29 11:13 3104它现在包含Text布局框架(Text Layout Frame ... -
Tooltip应用
2012-11-29 11:11 714创建ToolTip: var errorToolTip:To ... -
数据绑定显示问题
2012-10-27 12:11 645数据绑定实时变化。 XMLListCollection 可以变 ... -
待解决问题
2012-09-18 23:48 7011.仪表盘 2.渐变填充的使用 3.发光效果的完美运用 能在一 ... -
as3加载外部图片的两种方式
2012-09-09 11:46 1000package net.burchin.loading { ... -
公式as3
2012-09-06 18:13 0as3 1人收藏此文章, 我要收藏 发表于1年前(2011-0 ... -
Flex中多线程的实现
2012-09-06 10:49 3481破阵子_如是我闻 如是我闻。一时佛在舍卫国,祗树给孤独园.. ... -
自定义column renderer
2012-08-09 15:07 915<?xml version="1.0" ... -
drowshadowFilter
2012-08-09 15:05 655DropShadowFilter 类,在Flash中为各种对象 ... -
123123
2012-08-08 17:16 0http://www.oschina.net/code/sni ...
相关推荐
as_json 编码器 一个 JSON 编码器,专为 Rails 的需求量身定制。 目标是利用领域知识并加速 Rails 应用程序中的 JSON 编码过程。 这个 gem 与 Rails 4.1+ 兼容。 当前状态 目前,这是高度实验性的。 性能与当前的 ...
在Flex开发中用到的Json包,包括源码都有。com.adobe.serialization.json.JSON。保证好用
with open('example.json', 'r') as jsonfile: data = json.load(jsonfile) print(data) ``` 三、基于Python的CSV文件和JSON数据处理程序设计 在实际应用中,经常需要处理CSV文件和JSON数据。为了实现这些功能,...
然后,可以将JSON Blob馈送到AS3,以进行无标度的部署应用程序服务和/或添加到CI / CD管道。 目前,它会转换虚拟服务器配置,池和内存,证书和iRules。 这意味着新创建的应用程序将具有新的虚拟服务器,池和iRules...
对于仅Windows支持,请包含对“ Microsoft脚本运行时”的引用对于Mac和Windows支持,包括例子Dim Json As ObjectSet Json = JsonConverter.ParseJson( "{""a"":123,""b"":[1,2,3,4],""c"":{""d"":456}}" )' Json("a...
用于将 JSON 补丁 (RFC 6902) 应用于 PHP 数据结构的简单库 描述 这个库为 PHP 实现了 。 它与库一起尝试简化将 json-patches 应用到各种 php 数据结构的过程。 安装 要安装此库,请运行以下命令,您将获得最新版本...
GlassLab SDK as3(Flash、Flex) 此 Flash 和 Flex 兼容 GlassLab SDK 允许游戏和其他应用程序连接到 GlassLab 游戏服务平台。 将此库集成到您的项目中的主要目的是跟踪游戏会话并存储这些会话的遥测数据。 该...
欢迎使用OWASP应用程序安全验证标准(ASVS)Web应用程序-发行名称:Marbles OWASP应用程序安全验证标准(ASVS)是一个社区... 当我们建造大理石时,我们的目标是: 易于更新-该应用程序由两个JSON文件提供支持(asvs.js
转换CSV 用于将 CSV 文件转换为其他格式的 Mac 应用程序 sush as JSON 和 XML
这是一个使用JSON数据展示我最新项目的React应用。 目录 安装 npm install 用法 npm start 现场演示 执照 特征 移动友好的布局 互动项目卡 联系表 基于CSS的动画 技术 React 表示 节点JS JSON格式 用户故事 As ...
安装来自npm npm install --save json-native应用程序接口#stringify(subject) 这需要任何有效的 javascript 类型并将其转换为 json 格式。 对于大多数类型,这与JSON.stringify没有任何不同。 然而,对于日期、正则...
一般在许多应用程序中都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理。要实现这一点,它们必须将XML格式转换为JSON格式。 XML转JSON代码如下: 代码如下:private static string Xml...
简单地说, JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串(伪对象) ,然后就可以在函数之间轻松地传递这个字符串,或者 在异步应用程序中将字符串从 Web 客户端传递给服务器端程序 。这个字符串看起来...
用法使用npm install golden-fleece并将其导入到您的应用中: import * as fleece from 'golden-fleece' ;fleece.parse(str,[选项]) const ast = fleece . parse ( `true` ) ;// { start: 0, end: 4, type: '...
此文件使用 JavaScript 对象符号来存储配置信息,它是.NET 应用程序的核心.如果没有这个文件,你的项目就不会一个 ASP.NET Core项目。在这里,我们将讨论这个文件的一些最重要的特征。让我们双击 project.json 文件...
F5应用程序服务3扩展(AS3)介绍应用程序服务3扩展(AS3)是一种灵活的低开销机制,用于管理BIG-IP系统上的特定于应用程序的配置。 AS3使用声明性模型,这意味着您提供JSON声明而不是一组命令性命令。 重要说明从AS3...
第 3 章 : 使用数组 第 4 章 : 处理错误 第 5 章 : 使用正则表达式 第 6 章 : 使用 XML 第 7 章 : 使用本机 JSON 功能 第 8 章 : 处理事件 第 9 章 : 使用应用程序域 第 10 章 : 显示编程 第 11 章 : 使用...
这个 gem 为rack-test和Minitest添加了一些方便的方法,我发现自己为我编写的每个应用程序一遍又一遍地重复。 它添加了一些处理 JSON 的方法到rack-test 、 Minitest断言和用于检查响应状态的规范样式匹配器。 具体...
事实上Newtonsoft.Json已经提供了一套完整的Json数据文档结构,Newtonsoft.Json.Linq命名空间下提供了这种文档结构的对象模型,因此我们可以借用这样的模型,在其上应用访问者(Visitor,GoF95)模式,对树状结构的...
使用范例import Json.Decode as Dimport Json.Decode.Pipeline exposing ( required )import Json.Encode as Eimport JsonRpc exposing ( RpcData , call )type alias User = { username : String , password : ...