在JSON中传递数组集合

时间:2014-11-30 02:52:23

标签: java json flex

我正在尝试将一个数组集合从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+"&parameter="+ escape(JSON.encode(myObj))
                    var urlRequest:URLRequest = new URLRequest(url);
                    navigateToURL(urlRequest,"_blank");

               }

我的itmList是一个数组集合,如何将它从JSon传递给Java控制器?以及如何在Java中实现它?

2 个答案:

答案 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+"&parameter="+ escape(JSON.stringify(myObj))
                var urlRequest:URLRequest = new URLRequest(url);
                navigateToURL(urlRequest,"_blank");