Servlet 知识点(二) -- 解析 JSONArray 数据

来源:互联网 发布:淘宝上的dota2 编辑:程序博客网 时间:2024/05/17 05:54

一般情况下我们返回到前端或者提交给后台的都是 jsonObject 数据 , 这种数据网上提供了很多解析方式 ,就不多做赘述 , 这里着重写写 JSONArray 在 jsp 页面的解析方式 .
首先 , 他是一个字节数组 , 不能转换为 jsonObject , 即时通过 jQuery.parseJSON(str);转换成 json 对象 , 最后的解析结果也是逐字节
如: result = [{\”city\”:\”\”},{\”country\”:\”\”},{\”openid\”:\”414qfhtryjxdfg\”},{\”nickname\”:\”jac\”}
]
如果你使用
$.each(data, function(k, v) {
alert(k + ’ ’ + v);
}
它将输出
0,[ 1,{ 2,\ 3,” 4,c
即使是符号,也会被当做一个字节
所以我使用的是将 jsonArray 转换成 map 的方式提取需要的数据 .

var map = eval("(" + result + ")");//将 result转换为 map                                for ( var key in map) {                                    var openid = null;                                    var nickname = null;                                    var a = map[key];                                    for ( var k in a) {                                        if (k == "openId") {                                            openid = a[k];                                        }                                        if (k == "nickname") {//我需要的是键为nickname的值                                            nickname = a[k];                                        }                                    }

最后的输出结果为
414qfhtryjxdfg,jac