在jsp页面怎么接收json字符串,然后怎么把json字符串转换成对象,再之怎么遍历json对象?

把json字符串转换成对象用ajax,jquery怎么做?以上的问题最好能给个例子说明下。回答的好分数可以再追加!!... 把json字符串转换成对象用ajax,jquery怎么做?以上的问题最好能给个例子说明下。回答的好分数可以再追加!! 展开
 我来答
644792799
2014-03-26 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:523万
展开全部

用jquery的ajax

$.post("xxx.action", { 参数名1: "值1", 参数名2: "值2" },
   function(data){
     //data为返回的json字符串,这里转对象
     var json = eval("(" + data + ")");
     //遍历json
     for(var j in json) {
         var key = j;
         var value = json[j];
     }
   });

json字符串怎么来

JSONObject json = new JSONObject();	
json.put("参数名1", "值1");
json.put("参数名2", "值2");
return json.toJSONString();

这里需要用到一个jar包fastjson.jar 已经给你放到附件里面


更多追问追答
追问
{ 参数名1: "值1", 参数名2: "值2" },这个是向后台发送的参数和值吗?值从哪里来?我用的struts2还需要像JSONObject这样做吗?
追答
如果你没有的话可以不用,这个是可选的,你用struts2是什么意思
幸福生活有肉吃
2014-03-27 · TA获得超过122个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:133万
展开全部
var data=[{'a':1,'b':'c'},{'a':2,'b':'d'}];
var json = JSON.parse(data);
for(var i=0;i<json.length;i++){
json[i].a
}
操作就随意了么,试试...前几天从后天往前台传json把我折腾残了...
追问
你的JSON是哪里来的?你写的是把JSON对象转换成json字符串吧?
追答
是把json格式的字符串,转化成json对象...你见过字符串能点出属性来的么...
都忘了JSON哪来的了,JQuery哪个架包封好的...
难道是json-lib包...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可爱还勤恳的小熊猫K
2014-03-25 · 超过12用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:24.2万
展开全部
这是ajax做的,里面报错 获取json,转化成对象,遍历
function getclass(obj) {
loadtypesubject();
districtid = document.getElementById("districtId").value;
schoolid = document.getElementById("schoolId").value;
createXmlhttpRequest();
这里发送ajax请求
xmlhttp.open("get",
"multlink!getClassMessage?database=20130227155607281&districtid="
+ districtid + "&schoolid=" + schoolid + "&gradeid="
+ obj.value, true);
xmlhttp.send();
xmlhttp.onreadystatechange = statusClassChange;
}
// proxy loading the class message , this is callback function
function statusClassChange() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
selectClass = document.getElementById("classId");
selectSubject = document.getElementById("paperId");
deleteOption(selectClass);
selectSubject.options.length = 0 ;
selectSubject.options.add(new Option("--总成绩--", "allmark"));
这里获取json的值
flagmessage = xmlhttp.responseText;
这里把json转换成对象
smobj = eval(flagmessage);
这里遍历对象属性
for ( var i = 0; i < smobj.length; i++) {
flagname = smobj[i].classname;
flagid = smobj[i].classid;
option = createOption(flagid, flagname);
selectClass.appendChild(option);
}
}
}
这是一个N级联动的部分代码 ,应该能解决不的部分问题,这些代码本身没问题的,不会误导你
追问
上面说是报错,下面又说没问题,到底有没有 问题?

这里获取json的值
flagmessage = xmlhttp.responseText;这一句是获取从action中传过来的json写法吧,所有从action传过来的json数据都是这样接收的吗?
追答
这是项目中的代码 ,没问题,打字打错了。接收的时候我是这么接收的。这是ajax的东西吧。这是比较通用的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式