`
ch_kexin
  • 浏览: 898082 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

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);
  }
 }
} 


   ADOBE关于JSON的应用有个json包,它提供两个接口decode和encode,前者相当于一个解压json数据的过程,后者相当于一个压缩数据成json格式的过程。下面给出例子:
package    
{ 
  import flash.display.Sprite; 
  import flash.events.Event; 
  import json.*; 
  /** 
    * ... 
    * @author Never 
    */ 
  public class Main extends Sprite    
  { 
     
   public function Main():void    
    { 
      if (stage) init(); 
      else addEventListener(Event.ADDED_TO_STAGE, init); 
    } 
     
    private function init(e:Event = null):void    
    { 
      var infoJSON:String = '{"newinfo": [{ "news1": "never1", "news2": "never", "news3": "never3" },{ "news1": "never4", "news2": "never5", "news3": "never6" }]}' 

      //使用方法1 decode: 
      var _myJson:Object = new Object(); 
      _myJson = JSON.decode(infoJSON); 
      trace(_myJson.newinfo[0].news1);//输出:never1; 
      trace(_myJson.newinfo[1].news2)//输出:never5; 

        
      //使用方法2 encode: 
      var _myOb:Object = new Object(); 
      _myOb.id = "007"; 
      _myOb.name = "Never"; 
      trace(JSON.encode(_myOb));//输出:{"id":"007","name":"Never"} 
      removeEventListener(Event.ADDED_TO_STAGE, init); 
    } 
     
  } 
}
分享到:
评论

相关推荐

    as3读取json实例

    在AS3中,可以使用`JSON.parse()`方法将JSON字符串转换为一个AS3的对象。例如,假设我们有以下JSON字符串: ```json var jsonString = '{"name":"John", "age":30, "city":"New York"}'; ``` 我们可以使用以下代码...

    as3json资源

    综上所述,这个"as3json资源"提供了AS3与JSON交互的实践案例,对学习和掌握AS3中JSON的使用具有很高的价值。通过深入研究提供的源代码和示例,开发者可以更好地理解和应用JSON技术,提升其在ActionScript 3项目中的...

    as3corelib.swc及解析json的例子

    在本文中,我们将深入探讨如何在Flex 4.5中使用as3corelib库来解析JSON数据。...通过灵活地使用as3corelib,你可以轻松地在Flex 4.5应用程序中实现JSON的序列化和反序列化,从而提高开发效率和代码可维护性。

    as3 json 包(com/adobe/json)

    - JSON格式有严格的语法规则,例如键必须用双引号括起来,AS3中的null值在JSON中对应为"null"字符串,对象以花括号{}包裹,数组以方括号[]包裹等。 - 当AS3对象转换为JSON时,只有基本类型、字符串、对象和数组能被...

    Oracle JSON 字符串处理实例

    总的来说,Oracle的JSON处理能力强大且灵活,不仅能够满足基本的字符串操作,还能支持复杂的数据查询和转换,使得在关系型数据库中存储和处理JSON数据变得轻松易行。通过学习和实践这些功能,开发者可以更好地适应...

    VB解析JSON案例

    在IT行业中,VB(Visual Basic)是一种常用的编程语言,尤其在开发Windows应用程序方面。随着Web服务和API的普及,处理JSON(JavaScript Object Notation)数据成为程序员必备的技能之一。JSON因其简洁、易于读写的...

    json解析个人案例

    综上所述,“json解析个人案例”涵盖了从理解JSON的基本结构,到在不同编程语言中的解析方法,以及JSON在实际应用场景中的安全性和效率问题等多个方面。通过学习和实践这样的案例,我们可以深化对JSON这一重要数据...

    VB利用官方api读写JSON数据格式文件简单实例

    在本实例中,我们将探讨如何使用VB来实现JSON数据的读取和写入。 首先,我们需要引入一个能够处理JSON的库,因为VB.NET本身并不直接支持JSON操作。通常我们会使用Newtonsoft.Json库,这是一个非常流行的.NET JSON库...

    java操作json实例

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在Java中,处理JSON的主要库有Jackson、Gson、org.json和json-simple等。本实例将重点介绍如何使用Java的...

    Delphi_JSON控件及实例

    本文将深入探讨如何在Delphi中使用JSON控件以及相关的实例应用。 首先,我们要了解在Delphi中处理JSON的主要库:Indy的TIdJSON和System.JSON中的TJSONParser和TJSONObject等组件。这两个库提供了解析、生成和操作...

    VB 分析json数据有实例代码

    在这个实例中,我们将探讨如何在VB中分析JSON数据,并提供相关的代码示例。 首先,我们需要一个库来解析和生成JSON。在VB.NET中,可以使用内置的System.Web.Script.Serialization命名空间中的JavaScriptSerializer...

    JSon.zip_JSON_Json实例;delphi_Z5O_delphi7 json

    在本文中,我们将深入探讨JSON及其在Delphi 7中的应用。 JSON的基本结构是键值对(key-value pairs)和数组(arrays),这两种结构可以相互嵌套,形成复杂的数据模型。键值对由冒号分隔,而多个键值对之间则用逗号...

    delphi 使用superobject库解析和生成json实例

    在Delphi编程环境中,处理JSON数据是常见的任务,特别是在与Web服务交互或存储配置信息时。SuperObject是一个轻量级且...通过阅读提供的`superobject_json`文件中的示例,你可以进一步了解如何在实践中应用这些概念。

    FLASH AS3 入门各类实例源码

    2. **基本数据类型**:在AS3中,包括整型(int和uint)、浮点型(Number)、字符串(String)、布尔型(Boolean)等基础数据类型。了解这些类型的特点和用法是编程的基础。 3. **变量与常量**:AS3中的变量声明需要...

    VB6解析json类库-5分,完整示例,亲测可用

    2. **创建对象实例**:在VB6代码中,你需要创建VBJSON类的实例,如`Dim json As New VBJSON.JSONConverter`。 3. **解析JSON字符串**:使用`ParseJSON`方法将JSON字符串转换为VB6的字典、数组或其他数据类型。例如...

    AS3中文版帮助文档

    4. **函数与方法**:AS3中的函数是可重用的代码块,而方法是对象的一部分。文档将详细介绍它们的定义、参数、返回值以及作用域。 5. **显示列表和图形绘制**:AS3允许开发者通过DisplayObject类及其子类(如Sprite...

    VB JSON解释类

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务和应用程序之间的数据传输。它以其简洁、易于阅读和编写的特点,成为开发人员的首选格式。VB(Visual Basic)作为微软...

    json_cpp c++解析json数据的包

    在提供的sample实例中,可能包含了如何读取、解析JSON文件,以及如何创建和输出JSON数据的示例代码。这些例子可以帮助你快速理解和掌握json_cpp的使用方法。 总结来说,json_cpp为C++开发者提供了一个高效且易于...

    AS2转AS3教程下载

    本教程《AS2转AS3》的PDF文件将深入讲解这些转变,并通过实例帮助学习者逐步掌握AS3的基本用法和高级特性。无论你是刚接触CS3的新手还是寻求技术升级的开发者,这份教程都将是你宝贵的参考资料,带你顺利过渡到AS3的...

    AS3 中文教程(最新教程)

    在AS3中,有几个重要的知识点: 1. **基础语法**:AS3是面向对象的,引入了类、对象、包和接口等概念。变量声明时需指定类型,如`var myVar:String;`。函数使用`function`关键字定义,如`function myFunction():...

Global site tag (gtag.js) - Google Analytics