js用eval函数转换 var data = eval(服务器返回的json串)jquery的话,用getJSON函数取
js里:var R=eval("("+JsonString+")");
<!--obj是请求的参数--> function getInfo(obj) { if (obj) { $.getJSON("servletName", {obj:obj}, function(json){ $.each(json, function (index, entry) { //在这处理就行了。获取值比如:entry["id"] }); }); } }
servlet是已response.write(json);方式传过来的!!!
现在的问题是如何获取response过来的json- -!
你是用jquery AJAX的吧. data就是JSON
首先,服务器端的json必须写成 {"prop1": value1, "prop2": value2} 这种形式。属性名的"不能省略,也不能写成'然后,写入response之后,形成文本流用ajax,或者java(只要可以ping到Servlet的)都可以取到#3楼用的是Jquery的写法。servletName,是你Servlet的地址接下来介绍直接调用ajax的取法 function createXmlHttpRequest() {
var tryThese = [function() {return new XMLHttpRequest();}, function() {return new ActiveXObject('Msxml2.XMLHTTP');}, function() {return new ActiveXObject('Microsoft.XMLHTTP');}];
for (var index = 0; index < tryThese.length; index++) { try { return tryThese[index](); } catch(e) {} } alert("Ajax is not supported."); return null; } function getJSON(url) {
var data = eval(服务器返回的json串)jquery的话,用getJSON函数取
<!--obj是请求的参数-->
function getInfo(obj) {
if (obj) {
$.getJSON("servletName", {obj:obj}, function(json){
$.each(json, function (index, entry) {
//在这处理就行了。获取值比如:entry["id"]
});
});
}
}
data就是JSON
{"prop1": value1, "prop2": value2}
这种形式。属性名的"不能省略,也不能写成'然后,写入response之后,形成文本流用ajax,或者java(只要可以ping到Servlet的)都可以取到#3楼用的是Jquery的写法。servletName,是你Servlet的地址接下来介绍直接调用ajax的取法
function createXmlHttpRequest() {
var tryThese = [function() {return new XMLHttpRequest();},
function() {return new ActiveXObject('Msxml2.XMLHTTP');},
function() {return new ActiveXObject('Microsoft.XMLHTTP');}];
for (var index = 0; index < tryThese.length; index++) {
try {
return tryThese[index]();
} catch(e) {}
}
alert("Ajax is not supported.");
return null;
}
function getJSON(url) {
var xmlHttp = createXmlHttpRequest();
xmlHttp.open(url, "GET", true);
xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
// xmlHttp.responseText可以取到你的json;
// 这里是JSON的反串行化方法
}
}
xmlHttp.send(null);
}// 反串行化方法
(1) eval+括号
var testStr = "{name: 'test'}";
var obj = eval('(' + testStr + ')');
(2) JSON.parse
要求:返回的json内不得包含',必须是",且属性也必须加"
(3) eval(不推荐)
eval('var obj = ' + 得到的json字符串)
里面的function(json)中的参数就是返回来的json啊