微信小程序(踩過的坑)- (1) data中數組 java後端接收 -- 小程序

(1)微信小程序端代碼

...
var dataArray = new Array();
    dataArray.push("http://act/ticket/Tulips.jpg");    
    dataArray.push("http://XX.jpg");
    console.log("dataArray。。。" + dataArray)
    that.setData({
      imageList: dataArray
    })
    httpUtil.getReq(
      app.globalData.env,'xxx.json', header,
      {
        "imageList":that.data.imageList
      },
      function (res) {
        ...        
  },

(2)java 後臺接受

    @ResponseBody
    @RequestMapping("/xx.json")
    public ObjectResult ceatePostBillByUserList(
    	@RequestParam(required = true,value = "imageList") String [] imageList) {
		
        logger.info("...");
        ObjectResult objectResult = new ObjectResult(); 
       List<String> sList = new ArrayList<String>();
	for (String str : imageList) {
		sList.add(str);
	}
        objectResult =service.xx(sList) ;
        return objectResult;
    }

 (3)問題:接受參數錯誤

被坑,在java端接收到以後的不是數組了直接變爲string,本來一直使用數組遍歷,後來發現根本不行,

( 3 ) 解決方案

    @ResponseBody
    @RequestMapping("/ceate.json")
    public ObjectResult<AppPostBillVO> ceate(
    		@RequestParam(required = true,value = "imageList") String images,
    		@RequestParam(required = true,value = "id")int id) {
		
        logger.info("ceate...id:{},images:{}",id,images);
        ObjectResult<AppVO> objectResult = new ObjectResult<AppVO>(); 
	
	JSONArray obj = JSON.parseArray(images);
	List<String> sList = new ArrayList<String>();
        if (obj.size() > 0) {

            for (int i = 0; i < obj.size(); i++) {
            	sList.add((String) obj.get(i));
            }
        }
        objectResult = service.ceate(id,sList) ;
        return objectResult;
    }

  1》後臺接受類型修改爲 String images

   2》JSONArray 處理

    JSONArray obj = JSON.parseArray(images);
    List<String> sList = new ArrayList<String>();
        if (obj.size() > 0) {

            for (int i = 0; i < obj.size(); i++) {
                sList.add((String) obj.get(i));
            }
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章