【JS】js操作json object
//将表单序列化成字符串
$.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);