码迷,mamicode.com
首页 > 编程语言 > 详细

前台和后台互相传递多维数组

时间:2014-12-08 00:46:11      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

  上一篇文章介绍了前台和后台相互传递数组的方法,从客户端传一维数组到服务器可以用jquery的ajax方法直接传递。但如果传递的是多维数组呢?

  此时可以借用json的stringify()方法将字符串数组转换为json数组对象传递到后台,后台再使用JSONArray对象的fromObject()方法将其转换为数组即可。

  示例:

  JS代码:

$(function(){
    var array1 = new Array();
    array1.push("A");
    array1.push("B");
                
    var array2 = new Array();
    array2.push("123");
    array2.push("456");
            
    var allArray = new Array();
    allArray.push(array1);
    allArray.push(array2);

    //将字符串数组转化为JSON数组
    var jsonArry = JSON.stringify(allArray);

    $.ajax({            
      type: "POST",
      url: "JsonServelet",
      dataType: "json",
       traditional: true,
       data: {
             array: jsonArry
      },                              
      success: function(data){
                             
      }
    });

}); 

  Java代码:

package com.jason.json;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

public class JsonServelet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        
        String array = req.getParameter("array");
        
        Object[] object = getJsonToArray(array);
        
        Object data= object[0];
        
        Object[] dataArray = null;
        
        ArrayList<String> dataList = new ArrayList<String>();
        
        dataArray = getJsonToArray(data.toString());
for(int i=0;i<dataArray.length;i++){ dataList.add(dataArray[i].toString()); } for (int i = 0; i < dataList.size(); i++) { System.out.println("dataList = "+dataList.get(i)); } } /** * 从json数组中得到相应java数组 * JSONArray下的toArray()方法的使用 * @param data * @return */ public static Object[] getJsonToArray(String data) { JSONArray jsonArray = JSONArray.fromObject(data); return jsonArray.toArray(); } }

 

前台和后台互相传递多维数组

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/Jason-coding/p/4150171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!