精华内容
下载资源
问答
  • 前台将多个json对象传后台解析

    千次阅读 2014-04-21 10:54:38
    前台json格式的数据如何传入后台 1. 将要传入后台的数据组装成JSON格式的字符串: var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}] 2. 使用JQuery的ajax...

    前台json格式的数据如何传入后台

    1. 将要传入后台的数据组装成JSON格式的字符串:

    var jsonStr =“ [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]”;外面一定要加“”

    下面这种不行

    var jsonStr = [“{'name':'jim' , 'age':20}” ,“ {'name':'king' , 'age':26}”,“{'name':'jge' , 'age':30}”]

     

    2. 使用JQuery的ajax请求后台

    jQuery.ajax({

    type: "post",

    url: url,

    dataType : 'json',

    data : {'mydata':jsonStr}, -----------------或者'mydata'+jsonStr     jquery的ajax传值data最好用json格式传data:{a:'a';b:'b'}

    success: function(data,textStatus){

    alert("操作成功");

    },

    error: function(xhr,status,errMsg){

            alert("操作失败!");

                }

    });

    3.后台数据的接收与解析:

    String jsonStr = request.getParameter("mydata");

     

    JSONArray jsonArray = JSONArray.fromObject(jsonStr);

    for (int i=0;i<jsonArray.size();i++){
        JSONObject obj = JSONObject.fromObject(jsonArray.get(i));
        System.out.print("薪资项目--"+obj.get("age"));

      }

     

     

    -------------------------------------------------------华丽的风格

    当前台传入一个json对象,那么可以先封装成数组格式,采用上面的方法

    也可以参照下面的

    var people = {

    "programmers":[{"firstName":"Elie" , "lastName":"Harld" , "email": "elro@maq.com" }],
    "authors":     [{"firstName":"Isac" , "lastName":"Asiov" , "genre": "science fiction" }],
    "musicians":  [{"firstName":"Eric" , "lastName":"Claon" , "instrument": "guitar" },
                    {"firstName":"Seei" , "lastName":"Rnoff" , "instrument": "piano" }]
    };
    一个大json里面

    我们只关心取大json

     

    java代码:

    String param=request.getParameter("people");
    JSONObject jsonObj=JSONObject.fromObject(param);  --直接取大json



    for (Iterator iter = jsonObj.keys(); iter.hasNext();) { //先遍历整个 people 对象
        String key = (String)iter.next();
        System.out.println(key);
        JSONArray array = jsonObj.getJSONArray(key);



        for (int i = 0; i < array.size(); i++) {    //再遍历整个三个属性(programmers,authors,musicians)的值(数组)

         JSONObject object = (JSONObject) array.get(i);

       

            for (Iterator iterator = object.keys(); iterator.hasNext();) { //最后遍历值中的每个属性
              String key2 = (String) iterator.next();
              System.out.print("     "+key2+" : "+object.get(key2));
            }


         System.out.println();
        }

     

    展开全文
  • 前台ajax传JSON对象数组$.ajax({ url: url, type: "post", data: JSON.stringify(aa), contentType: "application/json", success: function (result) { alert("成功了!"); .....

    前台ajax传JSON对象数组

    $.ajax({

            url: url,
            type: "post",
            data: JSON.stringify(aa),
            contentType: "application/json",
            success: function (result) {
                 alert("成功了!");
            },
            fail: function (result) {
                alert("系统出错了!");
            }

         });

    后台接收
        
    @ResponseBody
        @RequestMapping(value = "save")

        public void save(@RequestBody User[] users, Model model) {

       

       }


    展开全文
  • JSON数据格式的字符串传递及解析

    首先在前台的js文件中利用ajax技术将数据传给后台

    前台JS文件代码

      row = $("#dgAssessmentAdd").datagrid('getRows');//获取datagrid控件中的所有行数据
    		  //创建数组
    	      /* var arr = new Array();
    			for(var i = 0; i < row.length ; i++){
    				jsonRow = JSON.stringify(row[i]);
    				arr.push(jsonRow);
    			}*/
    	        if (row.length) {
    	            $.ajax(
    	                {
    	                    type: 'POST',
    	                    url: "../ExamController/insertExam",
    	                    dataType: 'json',  
    	                    async : false,
    	                    data: { 
    	                    	'orgId' : assesmentOrgId,
    	                    	'examYear' : assesmentYear,
    	                    	'arrayList' : JSON.stringify(row)  //把数据转换为json格式字符串
    	                    	},
    

    说明:我只截取部分代码,这部分代码很简单,可以直接看注释。第一行是获取控件的数据,然后用JSON.stringify(row) 来把数据转化为JSON的格式,作为一个数组传输。通过浏览器可以看到具体格式如下:

    arrayList:[{"examCode":"condition_wall_system","examName":"上墙制度执行情况"},{"examCode":"condition_work_license","examName":"人员持证上岗情况"},{"examCode":"condition_construct_account","examName":"现场台账建设情况"}]
    

    这是一个JSON格式的字符串,一定不要发蒙,他只是一个字符串,后台需要对应的Stirng类型来接收。我们来看一下后台对应的接收的java代码:

    @RequestMapping(value = "/insertExam", method = { RequestMethod.POST })
    	public @ResponseBody BaseResult insertExam(String orgId, String examYear,
    			String arrayList, HttpSession httpsession) {//此处为接收字符串的参数
    		BaseResult baseResult = new BaseResult();
    		Gson gson = new Gson();
    		// 从前台得到Exam的列表
    		List<ExamModel> listExamFront = gson.fromJson(arrayList,
    				new TypeToken<List<ExamModel>>() {
    				}.getType());
    		List<Exam> listExamToServ = new ArrayList<Exam>();
    		// 把model转成exam
    		for (ExamModel examModelTemp : listExamFront) {
    			listExamToServ.add(ConvertExam(examModelTemp, httpsession));
    		}
    		// 把listExamServ插入
    		try {
    			baseResult = examService
    					.insertExam(listExamToServ, orgId, examYear);
    		} catch (Exception e) {
    			baseResult.setFlag(false);
    			baseResult.setInfo("新增考核失败!");
    			logger.error(LOG + ":操作考核失败,信息为:" + e.getMessage());
    		}
    
    		return baseResult;
    	}
    

    解释说明:在此处我们可以发现,后台接收参数为String类型,arrayList为这个对象的名字,后面是一大堆字符串。

    那么我们来开始进行字符串的解析

    转换成JAVAbean的类,需要用到Gson工具类这里可以参考一下这篇文档Gson的fromJson()方法
    我们对应的bean类是ExamModel然后直接用fromJson()这个方法

    	List<ExamModel> listExamFront = gson.fromJson(arrayList,new TypeToken<List<ExamModel>>() {
    				}.getType());
    

    第一个参数就是我们的字符串名称,因为是一个列表,所以用List来接收。这样就可以把json字符串中每个对象对应映射到ExamModel中的相应对象字段上。那么这个list存储的就是多条ExamModel对象的集合了。(如果是映射单个bean对象可以参考上面文档中的第一种。)
    然后就可以操作集合中的对象进行插入数据库或者修改,自己想做的操作。

    展开全文
  • js json map对象传给java后台接收

    万次阅读 2015-08-06 16:02:41
    前台用到:json2.js,jquery....后台用到:json.jar(调用方法:import net.sf.json.JSONObject;) 前台简要代码:  ……  //拼装JSON格式数据json  varjson={"edit":[{"bh":"11111","mc":"11111","dbms":"ORAC

    前台用到:json2.js,jquery.js

    后台用到:json.jar(调用方法:import net.sf.json.JSONObject;)

    前台简要代码:

                ……

                //拼装JSON格式数据json

                varjson={"edit":[{"bh":"11111","mc":"11111","dbms":"ORACLE9i","dwmmc":"","addr":"","username":"","password":"","rm_sz":"ck","nyr_sz":"","id":"-1"},{"bh":"121","mc":"12","dbms":"ORACLE9i","dwmmc":"12","addr":"12","username":"12","password":"12","rm_sz":"ck","nyr_sz":"2011-09-06","id":"13"}],"del":["12"]};

                varpost={data:JSON.stringify(json)};//JSON.stringify(json)把json转化成字符串
                 $.post(url,post);

                ……

    后台简要代码:

                 ……

                JSONObjectjson=JSONObject.fromObject(request.getParameter("data"));
                 List<Map<String,String>>edit=(List<Map<String,String>>)json.getJSONArray("edit");
                List<?>del=(List<?>)json.getJSONArray("del");

                //下面的操作就不多讲了

                ……



    前台json格式的数据如何传入后台

    1. 将要传入后台的数据组装成JSON格式的字符串:

    var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]

    2. 使用JQuery的ajax请求后台

    jQuery.ajax({

    type: "post",

    url: url,

    dataType : 'json',

    data : {'mydata':jsonStr},

    success: function(data,textStatus){

    alert("操作成功");

    },

    error: function(xhr,status,errMsg){

    alert("操作失败!");

    }

    });

    3.后台数据的接收与解析:


    String jsonStr = ServletActionContext.getRequest().getParameter("mydata");


    JSONArray jsonArray = JSONArray.fromObject(jsonStr);

    for(int i=0;i<jsonArray.length(); i++){

    JSONObject jsonJ = jsonArray.getJSONObject(i);

    jsonJ.getInt("name");

    jsonJ.getString("age");

    }

    4. 操作完成




    一、传值页面

    1、var retVal = JSON.parse("{}");//定义一个json

    2、在retVal内注入两个值

    retVal .aa= 'aaStr';

    retVal .bb= 'bbStr';

    3、使用JSON.stringify();  stringify()用于从一个对象解析出json字符串

    window.returnValue=JSON.stringify(retVal );

    eg:

    stringify()用于从一个对象解析出字符串,如

    var a = {a:1,b:2}

    结果:

    JSON.stringify(a)

    "{"a":1,"b":2}"

    、、、、、、、、、、、、、、、、、、、、、

    传值json数组

    var oResult=new Object();//定义一个对象

    for(var i=0;i<iRow;i++){
    var rd = JSON.parse("{}");//定义一个json
    rd.AAT026=orgRelQuery.getCellValueById(i,"AAT026");//为json注入值
    rd.AAT028=orgRelQuery.getCellValueById(i,"AAT028");
    rd.AAT001=orgRelQuery.getCellValueById(i,"AAT001");
    oResult[i] =rd;//为oResult 对象 注入json格式字符串
    }//循环注入形成数组

    result=JSON.stringify(oResult);//解析出json数组


    二、接收页面

    1、var result = JSON.parse(retVal );         //retVal为接收传值页面的返回值 

    2、var aa = result.aa;

          var bb = result.bb;

    parse用于从一个字符串中解析出json对象,如

    var str = '{"name":"huangxiaojian","age":"23"}'

    结果:

    JSON.parse(str)

    或者例如:

    var resultArr = JSON.parse(result); 

    //resultArrlength--resulrArr长度

    for(i=0;i<resultArrlength;i++){
    //校验有没有选择公司
    resultArr[i].abt002;

    }


    3、在JAVA中操作json 数据

    依赖jar:【
    <span style="font-size:14px;">还需要导入这些包commons-beanutils-1.7.0.jar   commons-lang-2.1.jar  ezmorph-1.0.2.jar   </span><h1 style="font-weight:300; font-family:'Helvetica Neue',Helvetica,'Hiragino Sans GB','Lucida Grande','Luxi Sans',Arial,sans-serif"><a target=_blank name="t3"></a><span style="font-size:12px;">commons-collections.jar  commons-logging-1.0.4.jar json-lib-2.4-jdk15.jar</span></h1>
    a.新建json 数据

    1. <span style="background-color: rgb(255, 255, 255);">Gd016 gd016 = (Gd016)get(Gd016.class, gdk016);//反射得到实例对象  
    2. JSONObject json =JSONObject.fromObject(gd016);//将实例对象转化为json对象(将对象gd016的所有属性和值以key和value的形式写入json对象中)  
    3. json.accumulate("xmlflag", xmlflag);//json对象内添加元素(在json对象中动态添加key和value键值对)</span>  


    businessXML.setOutObject("json", json.toString());//调用 json.toString()方法,使刚刚生成的json数据以String形式传递

    b.解析json数据

    (1)response.setContentType(   "application/json" );   //服务器响应的类型

    String jsonString =   request.getParameter(   "testJsonString"   );  //获取传过来的json字符串

    JSONObject jsonobj = JSONObject.   fromObject (jsonString); //把 json格式的字符串转化为json对像

    System. out .println( "name:"   +jsonobj.getString( "name" )+   ",age:" +jsonobj.getInt( "age"   ));

               输入结果: name:james,age:29---------------------------------【json字符串和新建方法类似】

    (2)把json数组形式的字符串转化为json数组,再解析出来

               // [{"name":"olay","age":21},{"name":"james","age":22},{"name":"kobe","age":34}]

              response.setContentType( "application/json" );   //服务器响应的类型

             String jsondata = request.getParameter(   "testJsonArray" );  //获取传过来的json字符串

             System.   out .println(jsondata);    // [{"name":"olay","age":21},{"name":"james","age":22},{"name":"kobe","age":34}]---必须是格式“[ {  } ]”

             JSONArray jsonArray = JSONArray.   fromObject (jsondata); //转化为json数组-------JSONArray对象得到数组

                     for ( int   i=0;i<jsonArray.size();i++){   //遍历json数组

                          JSONObject obj = JSONObject.   fromObject (jsonArray.get(i)); //转化为json对象---------json字符串解析

                          System. out .println( "name:"   +obj.getString( "name" )+   ",age:" +obj.getInt( "age"   ));

                   }

    (3)java中lst集合转为为json数组


              User user1 =   new   User();
             user1.setName(   "james" );
             user1.setAge(29);
             User user2 =   new   User();
             user2.setName(   "olay" );
             user2.setAge(22);  


              List   list =   new   ArrayList ();
              list.add(user1) ;
              list.add(user2) ;


              JSONArray arr = JSONArray. fromObject (list);  // lst集合转为为json数组
             System.   out .println(arr);    // [{"age":29,"name":"james"},{"age":22,"name":"olay"}]


    (4)java中Map集合转化为json二位数组


            Student student =   new   Student();
           student.setName(   "张三" );
           student.setAge(15);
           student.setSex(   "男" );
           
           Teacher teacher =   new   Teacher();


           teacher.setName(   "梨花" );


           teacher.setAge(29);


           teacher.setSex(   "女" );


            Map   map =   new   HashMap ();


            map.put( "student" , student) ;


             map.put( "teacher" , teacher) ;


            JSONArray arrMap = JSONArray. fromObject (map);  // Map集合转化为json二位数组


           System.   out .println(arrMap);  // [{"student":{"age":15,"name":"张三","sex":"男"},"teacher":{"age":29,"name":"梨花","sex":"女"}}]




    展开全文
  • 将前台json对象传入java后台

    万次阅读 2013-09-10 13:39:21
    ? ? 说实话不该当是艰苦的工作。我所谓实话不是指真谛,也不是指正确的话。本身想什麽就讲什麽;本身怎麽想就怎麽说这就是说实话。...1. 将要传入后台的数据组装成JSON格局的字符串: var jsonS
  • ajax传递json对象数组到后台

    千次阅读 2018-05-30 14:35:49
    javascript 代码 $.ajax({ type : "POST", traditional: true, contentType:'application/json;charset=UTF-8', url : ctx + '/work/day/add', ...
  • json对象 var obj = '{&quot;name&quot;:&quot;aaa&quot;,&quot;age&quot;,30}'; var objstr = JSON.stringify(obj); //转为字符串 console.log(objstr); var obj2 = JSON.parse...
  • 3.后台接收json并转化为list public int updateOrderItemRebate(String json) { JSONArray jsonArr = JSONArray.fromObject(json); // List<?> list = JSONArray.toList(jsonArr);//参数1为要转换的JSONArray...
  • ajax参数json对象后台获取

    万次阅读 2018-07-04 11:37:10
    contentType : "application/json", url:"matePxxx/addPxx", data: JSON.stringify(data), success:function (data) { } }); @RequestMapping("/addPxx") @ResponseBody public Map,Boolean> addPxxx(@...
  • 主要介绍了django实现将后台model对象转换成json对象并传递前端jquery,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 【Ajax】传递Json对象到MVC后台解析

    千次阅读 2017-09-08 20:02:38
    时在做批量删除或批量修改的时候经常需要传递一个数组集合到台。1、怎么在前端用ajax提交一个json数组到后台后台怎么获得
  • charset=utf-8方式发送的话,直接用springMVC的@RequestBody标签接收后面跟实体对象就行了,spring会帮你自动拼装成对象,如果Content-type设置成application/x-www-form-urlencoded;charset=utf-8就不能用spring的...
  • Json传递数据到后来很方便,但是遇到复杂的数据传递,不注意细节会很容易报错。下面就来分享一下我的代码片段吧: 1、我们在做批量处理的时候,都希望传递一个对象数组到后来,这样存入数据库也就很方便了。首先来...
  • JSON传java对象数组到后台解析

    千次阅读 2017-03-29 09:03:59
    前台对象为ligerUI表格中的数据 1).首先获取需要转发的对象数据(使用ligerUI的内置方法) ...使用Ajax数据 function getAllEmp(){ var rowArr = manager.getSelectedRows(); var emp = []; //申明一个数组对象
  • 前台如何将多个json对象传入java后台

    千次阅读 2014-05-17 15:29:58
    前台json格式的数据如何传入后台 1. 将要传入后台的数据组装成JSON格式的字符串: var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]   2. 使用...
  • 前台json格式的数据如何传入后台 1. 将要传入后台的数据组装成JSON格式的字符串: var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}] 2. 使用jQuery的ajax请求...
  • JSON传数组对象
  • 页面传递Json对象后台解析

    千次阅读 2014-09-03 15:30:12
    使用的组件 ...后台组件:json-lib-2.2.2-jdk15.jar 前台代码 1 通过页面生成json对象列表,然后转换成字符串 // 生成json对象 转字符串 function makeTsJsonParam(){ var tsList = new Array();
  • 前台json格式的数据如何传入后台 1. 将要传入后台的数据组装成JSON格式的字符串: var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}] 2. 使用JQuery的ajax...
  • 今天小编就为大家分享一篇springMvc 前端用json的方式向后台传递对象数组方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • JSON - 页面解析后台传JSON

    万次阅读 2017-02-10 17:38:20
    后台传JSON一般有两种格式:① 直接拼接传回;一般返回JSON字符串。out.print("{\"username\":\"yanshi02\",\"password\":\"123456\"}");下面的形式返回将不不能解析! "{'username':'admin','password':'123456'}...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,111
精华内容 54,844
关键字:

json对象如何传给后台