WEB开发之前后台JSON类型数据传值

准备:

下载JSON的jar包,将其导入WEB工程的WEB-INF下的lib文件夹中,需要下载的jar包如下图所示:


后台向前台传递json数据:

可以只传递一个json对象,代码如下所示:

        /*如果你要传递的数据中有中文,则需要设置传递的数据类型,否则前台接受时可能会出现乱码*/
        response.setContentType("text/html;charset=UTF-8");


        PrintWriter out=response.getWriter();
        
        JSONObject object=new JSONObject();
        object.put("name", "xyong");
        object.put("age", 24);
        object.put("address", "qingdao");
        
        out.println(object.toString());
        out.flush();
        out.close();
也可以传递一个json数组,代码如下所示:

 /*如果你要传递的数据中有中文,则需要设置传递的数据类型,否则前台接受时可能会出现乱码*/
        response.setContentType("text/html;charset=UTF-8");


        PrintWriter out=response.getWriter();
        
        JSONObject[] array=new JSONObject[5];        //这里可以用JSONArray代替
        JSONObject testJson=new JSONObject();
        for(int i=0;i<5;i++){
            JSONObject object=new JSONObject();   
            object.put("name", "xyong"+i);
            object.put("age", i);
            object.put("address", "qingdao");
            array[i]=object;
        }
        testJson.put("message", array);       
        out.println(testJson.toString());
        out.flush();
        out.close();       

注意:1、这里的json数组必须使用封装在一个json值中,否则,若前台设置了所接受信息的类型为json,会造成后台的数据无法传递到前台(因为若不是json类型,人家不接收啊吐舌头

2、JSON存储数据时,即json.put(index,value); 若value值为null ,则json不会存储该数据。


前台获取后台传递过来的json类型数据,

备注:我使用的是jQuery,通过ajax获取后台传递来的数据。

当后台只传递一个json对象时,代码如下:

$.ajax({
            url:urlPath,
            type:'get',
            data:{},
            dataType:'json',   //这里就设置了,ajax只能接收json类型的数据
            success:function(data){       
                $.each(data,function(index,value){
                    console.log("======index为:"+index);
                    console.log("======value为:"+value);
                });
            },
        }
当后台传递一个json对象数组时,代码如下:

$.ajax({
            url:urlPath,
            type:'get',
            data:{},
            dataType:'json',  //ajax只接收json类型的数据
            success:function(data){
                var message=data.message;               
                $.each(message,function(index,value){
                    console.log("下标为:"+index);
                    console.log("取值为:"+value.name);
                });
            },
        });

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值