js对json对象的动态操作,添加删除修改

https://www.cnblogs.com/louby/p/6962707.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>

    var pageId = 'pageId';
    var params = '2name=123&pass=456&static= ';
    let map = new Map();
    map.set(pageId,params);
    var storage = window.localStorage;

    //生成json
    var myjsonStr = setJson(null,'name','aaa');
    console.log(myjsonStr);

    if(!storage.hasOwnProperty(pageId)){

        var datajson = setJson(null,pageId+'1',params);//保存本次查询的小json
        var myjsonStr = setJson(null,pageId,datajson);//放入dataquery的大json        storage.pageId = myjsonStr;

    }else{
       var getqeury = JSON.parse(storage.getItem(pageId));//json
       var zquery = JSON.parse(getqeury.pageId)
        console.log(zquery);  //获取到小json
       var count = Object.keys(zquery).length;//获取子小json的个数
       console.log(count);//1
        if(count >= 5){
            //已记录5条,要销毁掉第一个
            var delqueryd = deleteJson(JSON.stringify(zquery),pageId+'1');
            //重新存入localtion
            var myjsonStr = setJson(null,pageId,delqueryd);//放入dataquery的大json            storage.pageId = myjsonStr;
            count--;
        }
       if(count < 5){
           var s = 5-count;
           var zquerys = setJson(JSON.stringify(zquery),pageId+(parseInt(count)+1),params);
           console.log(zquerys);
           //重新存入localtion
           var myjsonStr = setJson(null,pageId,zquerys);//放入dataquery的大json           storage.pageId = myjsonStr;

       }

    }


    //添加或者修改json数据,如果name一样就好覆盖掉
    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)
    }
</script>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值