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

2024-10-28 02:15:51
推荐回答(3个)
回答1:

用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 已经给你放到附件里面


回答2:

var data=[{'a':1,'b':'c'},{'a':2,'b':'d'}];
var json = JSON.parse(data);
for(var i=0;i json[i].a
}
操作就随意了么,试试...前几天从后天往前台传json把我折腾残了...

回答3:

这是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级联动的部分代码 ,应该能解决不的部分问题,这些代码本身没问题的,不会误导你