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

FLEX 数据传输json

发布时间:2020-12-15 04:37:51 所属栏目:百科 来源:网络整理
导读:???? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScri

???? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

?????? json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构

  1、对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

  2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

  经过对象、数组2种结构就可以组合成复杂的数据结构了。

一、java段webservice方法:(传输对象,类似hash表结构)

public String saveBL(String json) {

??BlZb bl = new BlZb();
??Session session = null;
??ApplicationContext acx = null;
??Transaction tx = null;

??try {

???acx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
???SessionFactory sessionFactory = (SessionFactory) acx.getBean("sessionFactory");
???session = sessionFactory.openSession();
???tx = session.beginTransaction();

???// 信息
???Map<String,String> map = (Map<String,String>) JSONUtil.deserialize(json);

???// ID
???if (map.get("blId") != null) {
????bl.setId(Integer.valueOf(String.valueOf(map.get("blId"))));
???} else {
????bl.setId(9999);
???}

?????e.printStackTrace();
???log.error(e.getMessage());
???return "{"success":false,"message":" + e.getMessage() + "}";
??} finally {

???if (session != null && session.isOpen()) {

????session.close();
???}
??}

??return "{"success":true,"id":" +bl.getId().toString() + "}";
?}

二、FLEX 提交

public function question():void {

????// 提问
????if (t_question.text) {
?????
?????btn = "Q";
?????// 设置参数
?????var q:Object = new Object();
?????q.recordId = interInfo.recordId;
?????q.roomId = interInfo.roomId;
?????q.aviId = interInfo.aviId;
?????q.pname = interInfo.xwr;
?????q.blId = interInfo.blId;
?????q.bz = t_question.text;
?????q.type = "1";
?????WS.saveBL(JSON.stringify(q));
?????return;
????}

?

三、flex解析

var data:String = String(result.result);
????var arr:Array = (JSON.parse(data) as Array);
????list_answer.dataProvider = arr;

?

?

var data:String = String(result.result);
????var obj:Object = (JSON.parse(data) as Object);
????
????if (obj.success) {//可以通过点,直接调用json的key获取值

?????// 结束
?????this.stopBurn();
?????
?????if (interInfo.isBurd == "true") {

??????ExternalInterface.call("mask","光盘正在结束刻录,请稍候...");
?????} else {

??????// 关闭页面前的一些处理
??????this.doClose();
?????}

????? ????}

(编辑:李大同)

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

    推荐文章
      热点阅读