//将表单序列化成字符串 ???????$.fn.serializeObject = function () { ???????????var obj = {}; ???????????var count = 0; ???????????$.each(this.serializeArray(), ???????????????function (i, o) { ???????????????????var n = o.name, v = o.value; ???????????????????count++; ???????????????????obj[n] = obj[n] === undefined ???????????????????????? v ???????????????????????: $.isArray(obj[n]) ???????????????????????????? obj[n].concat(v) ???????????????????????????: [obj[n], v]; ???????????????}); ???????????obj.nameCounts = count + ""; //表单name个数 ???????????return JSON.stringify(obj); ???????}; ???????//添加或者修改json数据 ???????function setJson(jsonStr, name, value) { ???????????if (!jsonStr) jsonStr = "{}"; ???????????var jsonObj = JSON.parse(jsonStr); ???????????jsonObj[name] = value; ???????????return JSON.stringify(jsonObj); ???????} ???????//删除数据 ???????function deleteJson(jsonStr, name) { ???????????if (!jsonStr) return null; ???????????var jsonObj = JSON.parse(jsonStr); ???????????delete jsonObj[name]; ???????????return JSON.stringify(jsonObj); ???????} ???????////生成测试 ???????// ???var myjsonStr = setJson(null,"name","aaa"); ???????// ???alert(myjsonStr); ???????////添加测试 ???????// ???myjsonStr = setJson(myjsonStr,"age",18); ???????// ???alert(myjsonStr); ???????////修改测试 ???????// ???myjsonStr = setJson(myjsonStr,"age",20); ???????// ???alert(myjsonStr); ???????////删除测试 ???????// ???myjsonStr = deleteJson(myjsonStr,"age"); ???????// ???alert(myjsonStr);
js 操作json对象增删改
原文地址:http://www.cnblogs.com/louby/p/7513263.html