`
nianshi
  • 浏览: 421338 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex中JSON使用的一些总结

    博客分类:
  • Flex
阅读更多


JSON(JavaScript Object Notation) 是一种轻量级的数 据交换格式,它采用完全独立于语言的文本格式,可 以用来在客户端和服务器端传输数据!JSON对象既可用于AJAX的开发中,也可用一般的J2EE的开发中,用于一次性向后台提交多于一条的记录!(譬如 显示在页面上的table中记录)
JSON官方网站的介绍:(www.json.org)

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

JSON is built on two structures:


* A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.

* An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.



These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangable with programming languages also be based on these structures.

简单的示例:
1。var jsonObj={person1:{name:"jack",age:"12"},
person2:{name:"kate",age:"23"},
person3:{name:"jim",age:"14"}
};
调用JSON对象的属性,
1)jsonObj.person1.name
2)jsonObj["person1"].name
可以通过for循环的方式调用JSON对象中的每一个子对象
for(var p in jsonStr){
//alert(typeof p); alert(p);//返回的是string
str+=jsonObj[p].name+","+jsonObj[p].age+"<br>";
}

2。var jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"},
{name:"bryant",sex:"m",age:"28"},
{name:"McGrady",sex:"m",age:"27"}
]};

调用JSON对象的属性,
1)jsonObj2.persons[0].name;
2)for循环调用方法,
var persons=jsonObj2.persons;//返回的值是一个数组object
for(var i=0;i<persons.length;i++){
cur_person=persons[i];
str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br>";
}
向jsonObj2的persons数组中插入,删除,更新 数据,
此处,可以利用javascript的Array对象的方法进行操作,如
var person={name:"yaoMing",sex:"m",age:"26"};
jsonObj2.persons.push(person);//数组最后加一条记录
jsonObj2.persons.pop();//删除最后一项
jsonObj2.persons.shift();//删除第一项
jsonObj2.persons.unshift(person);//数组最前面加一条记录
只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作!
//删除
jsonObj2.persons.splice(0,1);//开始位置,删除个数
//替换不删除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother);//开始位置,删除个数,插入对象
//替换并删除
var self={name:"tom",sex:"m",age:"24"};
var brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象

二,知道了在Javascript中JSON的基本操作,但这还不能与后台进行交互,在着之前还需要把它转化为 String!

方法有两个,1)引入一个方法 :

function obj2str(o){
var r = [];
if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
if(typeof o == "object"){
if(!o.sort){
r[0]="{"
for(var i in o){
r[r.length]=i;
r[r.length]=":";
r[r.length]=obj2str(o[i]);
r[r.length]=",";
}
if(!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)){
r[r.length]="toString:"+o.toString.toString();
r[r.length]=",";
}
r[r.length-1]="}"
}else{
r[0]="["
for(var i =0;i<o.length;i++){
r[r.length]=obj2str(o[i]);
r[r.length]=",";
}
r[r.length-1]="]"
}
return r.join("");
}
return o.toString();
}

网上找的,还蛮好用地!!在此对原创者表示感谢啦!!
分享到:
评论

相关推荐

    Flex使用json和xml数据交互

    ### Flex使用json和xml数据交互:深度解析与实践 #### 引言 在现代Web开发领域,数据交换格式的选择对于实现高效、灵活的前后端通信至关重要。JSON(JavaScript Object Notation)与XML(Extensible Markup ...

    flex中使用json

    在Flex中使用JSON,开发者可以方便地进行数据交换,提高了Web应用的效率和用户体验。通过`JSON.parse()`解析JSON字符串,以及`JSON.stringify()`序列化ActionScript对象,可以轻松地在JSON和ActionScript之间进行...

    在Flex中的Json应用

    在Flex开发中,由于Flex是基于AS3的,所以理解如何在Flex中使用JSON至关重要。本文将深入探讨在Flex中使用JSON的原理、方法以及涉及的关键库。 一、什么是JSON? JSON,全称JavaScript Object Notation,是一种轻...

    Flex使用JSON格式与Java通信.docx

    JSON在Flex中的使用 - **编码与解码**:Flex中可以通过`com.adobe.serialization.json.JSON`包来实现JSON对象的序列化和反序列化。 - **序列化**:将Flex中的对象转换为JSON字符串。 - **反序列化**:将JSON字符...

    flex json解析包(corelib.swc)

    总结来说,"flex json解析包(corelib.swc)"提供了在Flex应用中处理JSON数据的核心工具,通过`JSON`和`JSONEncoder`类,开发者可以方便地进行JSON数据的解析、序列化以及自定义转换,从而实现与服务器之间的数据...

    Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

    总结来说,"Flex+Struts2+JSON"的组合提供了一种灵活且高效的前后端通信方式。Flex负责用户交互,Struts2处理业务逻辑,而JSON作为数据交换的载体,三者结合能够构建出功能强大的分布式应用程序。服务器端Java代码...

    Flex3中用到的工具类包,含有json类

    而“lib”目录中的“swc”文件是Adobe的库文件格式,它是编译后的二进制形式,可以直接导入到Flex项目中使用,提供了一种方便的依赖管理方式。 ActionScript 3.0 Core Library(as3core)是ActionScript的基础库,...

    FLEX JSON 包

    总结来说,FLEX JSON包是Flex开发中不可或缺的一部分,它允许开发者方便地在客户端和服务器之间交换数据,避免了“Access of undefined property JSON”这类常见错误,并提供了高效且易用的JSON处理工具。...

    FLEX操作XML&JSON

    【标题】: 使用FLEX操作XML和JSON ...总结,Flex为开发者提供了强大且灵活的工具来处理XML和JSON数据,结合Java服务器,可以构建高性能的RIA。无论是用于数据展示还是动态交互,Flex都能够提供优秀的用户体验。

    FLEX中文教程+实例

    Flex是Adobe公司开发的一种用于...总结,Flex中文教程与实例是学习和提升Flex开发能力的重要资源,它全面介绍了Flex的各个方面,并通过实践案例加深理解,对于希望在RIA领域发展的开发者来说,是不可或缺的学习材料。

    Tutorial Talking to WCF with Flex 3 via JSON or XML

    总结:本教程介绍了如何使用Flex 3与WCF服务进行交互,包括创建C#的WCF服务、测试服务以及在Flex项目中创建客户端代理以调用服务方法。通过这种方式,你可以实现Flex前端与ASP.NET后端的数据交换,无论是通过JSON...

    FLEX培训总结

    【Flex培训总结】 Flex,全称Adobe Flex,是由Macromedia公司推出的,旨在支持富互联网应用程序(RIA)的开发和部署的技术组合。随着Macromedia被Adobe收购,Flex也成为了Adobe的重要产品。Flex主要使用...

    flex json转无限树形加单选框并获得选中子项 自动展开

    总结,"flex json转无限树形加单选框并获得选中子项 自动展开"是一个典型的前端开发任务,涉及JSON解析、无限层级树形结构的构建、UI组件(单选框)的使用以及交互逻辑(自动展开和获取选中项)。理解并熟练掌握这些...

    AS3 JSON 包

    总结,AS3中的JSON处理是通过`JSON.stringify()`和`JSON.parse()`两个核心方法实现的,这些工具使得AS3能够轻松地与其他使用JSON的平台进行数据交互,极大地增强了其在网络通信中的能力。了解和掌握这些基础知识,...

    Flex Service

    在Flex中,我们可以使用 mx.rpc.soap.* 命名空间中的类来调用SOAP服务。例如,使用WebService类,开发者可以定义服务端的WSDL(Web服务描述语言)URL,然后调用其方法获取数据。Flex自动处理XML到ActionScript对象的...

    Flex4之DataGrid四个的示例【客户端和服务器端】

    总结起来,"Flex4之DataGrid四个的示例【客户端和服务器端】"这一主题涵盖了使用Flex4的DataGrid组件展示和处理数据的基本技巧,包括客户端数据绑定、服务器端交互以及JSON数据的使用。通过具体的示例,开发者可以...

    Flex如何让前台链接后并访问数据库

    3. **定义服务代理**:在Flex应用中,我们可以使用ProxyService或WebService组件来调用后台服务。定义服务接口,包括方法名和参数,以匹配后台服务的API。 4. **数据访问对象(DAO)**:在后台,创建DAO(Data ...

    Flex与服务器端通信

    - **C#与AMF**:在C#中,可以使用第三方库如AMF.NET或Rediska.NET来实现AMF通信协议,使得C#服务器能够理解并处理Flex客户端发送的AMF消息。 - **服务端接口设计**:为了与Flex的RemoteObject通信,C#服务器需要...

    amcharts嵌入到flex中

    这可以通过在MXML文件中使用`&lt;mx:SWFLoader&gt;`标签实现,设置其`source`属性为AmCharts的JavaScript文件路径。例如: ```xml ('/path/to/amcharts.js')"/&gt; ``` 然后,我们需要创建一个HTML容器来承载AmCharts图表。...

Global site tag (gtag.js) - Google Analytics