【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);
posted @ 2019-01-07 11:37  YanyuWu  阅读(2034)  评论(0编辑  收藏  举报