json操作容易出现的细微问题

通过Goggle提供的Gson(把普通数据变成json数据的jar包)可以处理json数据。

什么是json数据?

boook{ id=1,name='小李' }

在前后端操作中,经常需要把后端数据转成json类型数据然后再提供给前端使用。

总结一下:

前端使用时:

这是一个分页方法,我们通过ajax发送请求到服务端,服务端返回一个分页后的json数据,

我们解析json的时候,通过自己拼接字符串,把数据显示出来,就像下面的代码:

 这是正常的代码

table+="<input type='button' value='上一页' class='bt' pageNum='"+pageInfo.prePage+"'pageSize='"+pageInfo.pageSize+"' />";

如果是下面这样:在'pageSize前面加个空格(最开始的目的是为了让代码更整洁一点)
table+="<input type='button' value='上一页' class='bt' pageNum='"+pageInfo.prePage+" 'pageSize='"+pageInfo.pageSize+"' />";
这样让pageNum的值多了空格,如果这个值传递到服务端会产生异常,或者数据不准确。

 
function loadUser(pageNum,pageSize){
        $.ajax({
            method:"get",
            url:"/index?pageNum="+pageNum+"&pageSize="+pageSize,
            dataType:"json"
        }).done(function (pageInfo) {
            var table = "<div id='div2'><table >";
            pageInfo.list.forEach(function (user) {
                table+="<tr>";
                table+="<td>"+user.id+"</td>";
                table+="<td>"+user.sysUsername+"</td>";
                table+="</tr>";
            })
            table+="</table><br>";
            table+="<input type='button' value='首页' class='bt' pageNum='1'pageSize='"+pageInfo.pageSize+"' />";
            table+="<input type='button' value='上一页' class='bt' pageNum='"+pageInfo.prePage+"'pageSize='"+pageInfo.pageSize+"' />";
            table+="<input type='button' value='下页' class='bt' pageNum='"+pageInfo.nextPage+"'pageSize='"+pageInfo.pageSize+"' />";
            table+="<input type='button' value='尾页' class='bt' pageNum='"+pageInfo.navigateLastPage+"'pageSize='"+pageInfo.pageSize+"' />";
            table+="</div>"
            $("#div2").remove();
            $("#div1").html(table);
            $(".bt").on('click',function () {
                //prop只能获取标签的固有属性
                //attr可以获取自定义属性
                loadUser($(this).attr("pageNum"),$(this).attr("pageSize"));
            })
        })
    }
原文地址:https://www.cnblogs.com/liweixml/p/11812282.html