加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash中JSON的使用

发布时间:2020-12-15 18:24:33 所属栏目:百科 来源:网络整理
导读:在AS中使用json其实并不是一个必须或是很好的选择,因为AS对xml的解析已经很不错了,但是为什么可以考虑使用 json呢,有以下几点: json是介于单纯的文本方式(如: firstName=BrettlastName=McLaughlin email=brett@newInstance.com)和xml(requestfirstNa
在AS中使用json其实并不是一个必须或是很好的选择,因为AS对xml的解析已经很不错了,但是为什么可以考虑使用 json呢,有以下几点:

json是介于单纯的文本方式(如:

  • firstName=Brett&lastName=McLaughlin& email=brett@newInstance.com)和xml(<request><firstName>Brett& lt;/firstName><lastName>McLaughlin< /lastName><email>brett@newInstance.com</email>< /request>)中间的一种格式,他具有文本和xml的中性优势:数据量小和清晰的数据格式。
  • json是JavaScript Object Notation的简写,那么意思就是说他是来自于javascript的东西。因为现在ajax的流行,大部分网站会采用ajax的模式和构架,那么 json会是一个数据传输的首选(文本方式太简单,要是大数据量的时候无法理解,xml的方式数据量大,在解析的时候会增加服务器负担),那么要是一个网 站从ajax构架的基础上出一个flex/flash版的界面的时候使用json会最少地减少服务器端的程序改动。
  • 服务器端现在有成熟的JSON解析代码(因为JSON运用太广泛了),那么在开发的时候也不用担心服务器 端的解析。
下面就介绍一下adobe的官方的json类的用法

下面是教程,比较简单:
1、服务器端来的json
怎么样获得服务器端的json我就不说了吧(就是通讯),那么得到的应该是一个字符串,存入变量serverJSON,使用方式如下:

程序代码

?程序代码

import json.*;

//json格式字符串 存入变量:serverJSON;
var serverJSON:String = '{ "programmers": [{ "firstName": "Brett","lastName":"McLaughlin","email": "brett@newInstance.com" },{ "firstName": "Jason","lastName":"Hunter","email": "jason@servlets.com" },{ "firstName": "Elliotte","lastName":"Harold","email": "elharo@macfaq.com" }],"authors": [{ "firstName": "Isaac","lastName": "Asimov","genre": "science fiction" },{ "firstName": "Tad","lastName": "Williams","genre": "fantasy" },{ "firstName": "Frank","lastName": "Peretti","genre": "christian fiction" }],"musicians": [{ "firstName": "Eric","lastName": "Clapton","instrument": "guitar" },{ "firstName": "Sergei","lastName": "Rachmaninoff","instrument": "piano" }]}'

//开始使用
var json:Object = new Object();
json = JSON.decode(serverJSON);
trace(json.programmers[0].firstName);//输出:Brett;

json就是一个对象了,简单吧。
不是吧这么简单。其实转变后就成为一个对象了,可以通过点语法来访问这些值了。XML靠边去。

2、本地对象做成JSON
你要是能自己拼出JSON字符串也可以,不过我们是在面向对象的世界啊,那么我们都是对象啊,到时候对象直接就可以来用了。
举一个例子:

程序代码

?程序代码

import json.*;
var myObject:Object = new Object();
myObject.ab = "adfsdf";
myObject.cd = Math.random();
trace(JSON.encode( myObject ));//输出:{"ab":"adfsdf","cd":0.0599129400216043}


这样就可以给服务器了。 总结:就两个方法,JSON.decode(String),JSON.encode(Object),有这么简单的方式实现传输量小,而且简单的数据格 式,我们为什么还不用呢? 其实XML自然也有他自己的强势,当一个结构复杂的数据结构出现的时候,这个时候JSON就很难搞定了,XML就是首选了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读