java jSon实例编写

在jsp页面或js中发起一个请求,然后用java类处理返回一个json包,再在页面将相应数据便利出来。

是这么个过程
1、在页面用js发出个ajax请求,请求类型最好写成json,建议使用jquery的ajax方法,省事。请求的路径要配在web.xml中
2、这个请求路径制定的是一个servlet,就是一个java类,继承自httpservlet。这个servlet里可以通过request对象获取到输入参数,根据输入参数和自己具体的逻辑拼出个字符串,当然是json格式的。然后输出。这个不会写说明你需要补一补java web开发的基础知识。
3、在页面的ajax请求的success方法中,直接可以获取到返回的json对象,然后就根据你的json格式处理吧。

$.ajax({
url: 'ajax/test',//这个是servlet请求路径
success: function(data) { //data就是servlet输出的json格式字符串,这里会自动转化为json对象
alert('Load was performed.');
}
});追问

$(document).ready(function(){

    $("#btnFish").click(function(){

     $.ajax({

      url:'fish',

      success:function(data){

       alert(data);

     var obj = eval('('+data+')');

       $("p").html = obj.color[0];

      }

     });

    });

   });

 

 

为什么obj.color[0]不对呢,应该怎么写呢。我返回的json数组里有name,color等等,

如图:

追答

color是数组吗?

用IE8或者以上浏览器,按f12进入调试模式,就可以看具体json对象的各个属性了。作为前台开发者这个必须得会用啊

追问

呵呵,得这么写obj[1].color

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-22
看下我的:
function setSelect(fromSelVal,toSelId,first){
if(first == '1'){
document.getElementById(toSelId).innerHTML="";
var o = $("<option/>").text("请选择").attr("value", 0);
$("#" + toSelId).append(o);
}
$.ajax({
url: "<%= request.getContextPath() %>/region!getRegions.action",
dataType : "json",
data:"parentId="+fromSelVal,
success: function(data){
createSelectObj(data,toSelId);
}
});
}
function createSelectObj(data,toSelId){
$(data).each(function(){
var opt = $("<option/>").text(this.name).attr("value", this.id);
$("#" + toSelId).append(opt);
});
}

如果你说你的json里面有name 和color的话 那你生成json的时候有没有用到Map?还有数据类型要声明为json
相似回答