我正在尝试将一个数组集合从flex页面传递到我的后端java.Here是代码,
private function getItems():void{
myObj = new Object();
myObj['dId']= dId.value.toString();
myObj['itmList']=JSON.encode(itmList);// trying to pass like this..
var url:String = URLManager.baseURL;
url = url+"myController/ReportController?do=getItems";
url = url+"¶meter="+ escape(JSON.encode(myObj))
var urlRequest:URLRequest = new URLRequest(url);
navigateToURL(urlRequest,"_blank");
}
我的itmList
是一个数组集合,如何将它从JSon传递给Java控制器?以及如何在Java中实现它?
答案 0 :(得分:3)
JSON.encode改为itmList源数组。 (即itmList.source
是一个数组)
然后使用HTTPService代替: HTTPService AsyncToken and AsyncResponder example
答案 1 :(得分:1)
另一个选择是使用JSON.stringify(Flash自FP 11以来一直支持JSON)。只需确保从文件顶部删除import com.adobe.serialization.json.JSON;
。
myObj['itmList']=JSON.stringify(itmList);
或者,因为您正在编码整个数据对象,
myObj['itmList']=itmList.source;
var url:String = URLManager.baseURL;
url = url+"myController/ReportController?do=getItems";
url = url+"¶meter="+ escape(JSON.stringify(myObj))
var urlRequest:URLRequest = new URLRequest(url);
navigateToURL(urlRequest,"_blank");