Flex中JSON使用的一些总结

 简单的示例: 
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; 
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); 
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); 
r[r.length]=","; 
} 
r[r.length-1]="]" 
} 
return r.join(""); 
} 
return o.toString(); 
} 

2,

flex  端;

import com.adobe.serialization.json.JSON;

 

var json:String=JSON.encode(reslutList.toArray());

java 端:

      List list = (List) JSON.parseArray(json, Map.class);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值