使用jquery索引作为json键
Using jquery index as json key
我有一个jQuery事件处理程序,当点击时,基于收藏链接列表创建一个javascript对象:
$('#saveFavorites').on('click', function(){
alert("Got inside saveFavorites");
var myFavorites = {id:null, favorites:[]};
myFavorites['id']= someNumber;
$('#favoritesList').find('a').each(function(i){
console.log(i + ":" + $(this).html());
myFavorites['favorites'].push({
i:$(this).html()
});
});
console.log(JSON.stringify(myFavorites));
});
问题是当我在这里输出时:
console.log(i + ":" + $(this).html());
输出是我想要的:
0:Test1
1:Test2
但是当我对对象进行字符串化时:
console.log(JSON.stringify(myFavorites));
我的输出是"i"而不是它所代表的字符串化整数。
{"id":"11111111","favorites":[{"i":"Test1"},{"i":"Test2"},{"i":"Test3"},{"i":"Test4"}]}
我假设push函数认为我的I是字符串"I"。有没有办法完成我需要做的事情?
Try
$('#favoritesList').find('a').each(function(i, val){
console.log(i + ":" + $(this).html());
myFavorites['favorites'][i] = $(this).html();
});
明白了。诀窍是在我推送对象之前创建对象:
$('#favoritesList').find('a').each(function(i){
//console.log(i + ":" + $(this).html());
var obj = {};
var id = $(this).attr("id");
obj[id] = $(this).html();
myFavorites['favorites'].push(obj);
});
相关文章:
- 解析复杂的json-jquery
- 我应该使用哪个:json-jquery 或 json2.js
- php请求带有多个对象json-jquery
- JSON JQUERY未捕获类型错误:无法读取属性'长度'的未定义
- 在多层json Jquery中循环
- JSON / JQUERY - ajax post,如何在成功函数中处理 XML 数据
- Json jQuery 和 php 处理的值不正确
- JSON/jQuery/PHP:未捕获语法错误:意外的令牌:
- 缓存通过PHP/AAJX/JSON/jQuery加载的动态图像
- JSON Jquery大小写不敏感匹配
- 接收数据json/jquery
- Javascript json jquery无法获得自定义属性值
- Rails 3和Ajax/JSON/JQuery/直接DOM更新-与Scaffold程序一起使用
- 简单的模式JSON Jquery
- 迭代表列&构建JSON - jQuery
- 基于ID生成锚链接(JSON, jQuery)
- JSON jQuery数据变量
- get JSON - JQuery & PHP
- Ajax更改为JSON (Jquery离线+ Manifest) -离线web应用程序
- 尝试使用JSON - jQuery上传多个数据.为什么不工作呢?