var aa=JSONdog.dogli
改为
var aa=JSONdog[dogli]
补充说一下:这是对象属性的两种调用方法,一种是 obj.attr ,另一种是 obj["attr"],而这第二种方式属性名用的是字符串格式,这样就能用变量来代替它了。
不知道你想做什么。jquery是运行在浏览器端的一个js 函数库,json被浏览器解析之后就是 一个js字面量(或叫做对象) 。你说拼接,是不是把两个json的数据变成一个对象?我觉得这完全没必要吧,如果你需要同时获取两个json你可以在服务器端直接把这两次请求合并为一个,这样只用一次请求 速度还快一些 。
如果你非要获取两次然后拼接成一个对象也可行。
function callBack(json){
这里写你处理最终json的代码
}
$.getJSON("url1", function(json1) {//获取第一个json
$.getJSON("url2", function(json2) {//回调函数中获取第二个json
var key
for (key in json2) {//遍历第二个json对象添加到第一个json中
json1[key] = json2[key]
}
callBack(json1)
//处理最终得到的json对象
})
})
思路 转换成字符串再转化成json;
代码如下:
var json = {}var json1 = {a:1,b:1}
var json2 = {c:1,d:1}
json = eval('('+(JSON.stringify(json1)+JSON.stringify(json2)).replace(/}{/,',')+')')
// json: {a:1,b:1,c:1,d:1}