当前位置:编程学习 > JAVA >>

如何js将数组转化为json数组,然后后台如何解析?

页面代码:

var jsonArr = new Array();
// 组装JSON数组
for ( var j = 0; j < changes.length; j++) {
var jsonObj = {}; 
jsonObj["gradeId"]=changes[j].gradeId;
jsonObj["gradeName"]=changes[j].gradeName;
jsonObj["level"]=changes[j].level;
jsonObj["boundary"]=changes[j].boundary;
jsonObj["status"]=changes[j].status;
jsonArr.push(jsonObj)
}

$.post("update_gradeAction.action",
{gradeJson:jsonArr.toString()},
function(message){
alert("success!");
},
'json'
);







后台解析代码为

HttpServletRequest request = ServletActionContext.getRequest();

String gradeString = request.getParameter("gradeJson");
System.out.println(gradeString);// 此处为null或者偶尔为[{objcet objcet},{objcet objcet}..]
//String[] names = request.getParameterValues("gradeName");

JSONArray jsonArr = JSONArray.fromObject(gradeString);//此处为null,或者直接报错



--------------------编程问答-------------------- 求高手指点,急啊,项目经理要杀人了! --------------------编程问答-------------------- 自己顶一下,救命啊!!
--------------------编程问答-------------------- JSONArray jsonArr = JSONArray.fromObject(gradeString);
这不是解析Json字符串,这句代码是把变量名为gradeString的集合对象转化成JSONArray对象,再用toString方法就可获得Json字符串。

解析前台Json字符串,自己写个方法往实体里充值吧。 --------------------编程问答--------------------   学习。。。顶 --------------------编程问答-------------------- 前台直接就传数组啊。
后台可以直接将数组转成JSON格式 --------------------编程问答--------------------
引用 5 楼 wy100304441 的回复:
前台直接就传数组啊。
后台可以直接将数组转成JSON格式

我试试,谢谢 --------------------编程问答-------------------- 我一般用JSONObject来组json串,我觉得应该也能解析json串

你试试看看什么方法!! --------------------编程问答--------------------
 var jsonstr='['
for ( var j = 0; j < changes.length; j++) {
                         jsonstr+= '{'; 
                           jsonstr+="gradeId:";
                           jsonstr+=changes[j].gradeId;
                            ...
                           jsonstr +='}'
                           if(j!=changes.length-1){
                            jsonstr+=','
}
                        }
jsonstr+=']';

JSONArray jsonArr = JSONArray.fromObject(gradeString);
--------------------编程问答-------------------- 楼上的,简单可行。至于直接传数组,会有问题的 --------------------编程问答--------------------
引用 7 楼 jxsryecheng 的回复:
我一般用JSONObject来组json串,我觉得应该也能解析json串

你试试看看什么方法!!

老大,你写的这个是java代码,不是页面代码... --------------------编程问答-------------------- 说白了,只要你前台传过去的是json格式的数据,后台用JSONArry或者JSONObject就能解析 --------------------编程问答-------------------- 顶8楼的,学习了,哈哈,简单实用。 --------------------编程问答-------------------- 8楼的好吗,如果字符串本身就有{[]等特殊字符,那怎么解析啊。乱套了。 --------------------编程问答-------------------- 用谷歌的插件 GSON ,怎么转都可以   --------------------编程问答-------------------- json官网有一个把js对象转换为json字符串的js,名字好像是json2.js,后端java解析json字符串的话可以使用淘宝的fastjson,据淘宝说这个是java解析json最快的 --------------------编程问答-------------------- google 的 GSON --------------------编程问答-------------------- 你就用for一个字符一个字符拼接吧。 --------------------编程问答-------------------- 好老的帖子。。。怎么还没结贴? --------------------编程问答-------------------- 我之前也是JSON传入,GSON传出,再解析... --------------------编程问答--------------------
引用 18 楼 huang_cl 的回复:
好老的帖子。。。怎么还没结贴?

你不说我都还没发现 --------------------编程问答-------------------- https://github.com/douglascrockford/JSON-js/blob/master/json2.js
之后
只需要
JSON.stringify(yourArray);

将数组转成json string --------------------编程问答--------------------
引用 20 楼 jsynzzp 的回复:
Quote: 引用 18 楼 huang_cl 的回复:

好老的帖子。。。怎么还没结贴?

你不说我都还没发现
csdn好人多
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,