求助,存档功能微信开发者平台报错

大家好,我做了一个闯关游戏,我想用官方文档中介绍的存档功能来实现记录玩家闯过的关卡,当玩家再次进入游戏的时候能够从不再游玩上次通关的关卡。我的游戏分为开始界面和地图界面,两个界面之间是不同的场景,玩家进入游戏只能从开始界面切换到地图界面。
我在开始界面先判断读取的存档是否为空,如果不为空就更新关卡数据。源码如下:

        var myFestivalCondition=JSON.parse(cc.sys.localStorage.getItem("MyFestivalCondition6"));
        if(myFestivalCondition!==null){
            cc.log(111);
            festivalCondition["YuanXiao"].win=myFestivalCondition.YuanXiao;
            festivalCondition["QingMing"].win=myFestivalCondition.QingMing;
            festivalCondition["DuanWu"].win=myFestivalCondition.DuanWu;
            festivalCondition["QiXi"].win=myFestivalCondition.QiXi;
            festivalCondition["ZhongQiu"].win=myFestivalCondition.ZhongQiu;
            festivalCondition["ChongYang"].win=myFestivalCondition.ChongYang;
            festivalCondition["ChunJie"].win=myFestivalCondition.ChunJie;
        }
        else{
            //cc.log(JSON.parse(cc.sys.localStorage.getItem("MyFestivalCondition5")));
            cc.log(222);
        }

然后在进入地图界面以后就是更新玩家闯过了多少关,源码如下:

      //存档功能
        var myFestivalCondition={
            YuanXiao:festivalCondition["YuanXiao"].win,
            QingMing:festivalCondition["QingMing"].win,
            DuanWu:festivalCondition["DuanWu"].win,
            QiXi:festivalCondition["QiXi"].win,
            ZhongQiu:festivalCondition["ZhongQiu"].win,
            ChongYang:festivalCondition["ChongYang"].win,
            ChunJie:festivalCondition["ChunJie"].win,
        };
        cc.sys.localStorage.setItem("MyFestivalCondition6",JSON.stringify(myFestivalCondition));

其中这两段代码中的festivalCondition是一个模板,记录了玩家是否通过了这个关卡,win是布尔值

我的资源文件是腾讯云对象存储来远程加载的。

在打开微信公众平台以后出现了以下报错:

个人认为是微信的json不能解析空对象导致的,不知道说的对不对,回头看上面的代码我已经判断是否为空了,还是报错。各位大佬有没有方法解决这个问题并实现我所说的功能?

补充,在cocos浏览器上是没问题的,但是在微信公众平台上就出错了。

parse和getItem分成两行吧,先getItem,非空的情况下再parse

     var myFestivalConditionString=cc.sys.localStorage.getItem("MyFestivalCondition6");
        if(myFestivalConditionString!==null&&myFestivalConditionString!==""){
            var myFestivalCondition=JSON.parse(myFestivalConditionString);
            festivalCondition["YuanXiao"].win=myFestivalCondition.YuanXiao;
            festivalCondition["QingMing"].win=myFestivalCondition.QingMing;
            festivalCondition["DuanWu"].win=myFestivalCondition.DuanWu;
            festivalCondition["QiXi"].win=myFestivalCondition.QiXi;
            festivalCondition["ZhongQiu"].win=myFestivalCondition.ZhongQiu;
            festivalCondition["ChongYang"].win=myFestivalCondition.ChongYang;
            festivalCondition["ChunJie"].win=myFestivalCondition.ChunJie;
        }
        else{
            //cc.log(JSON.parse(cc.sys.localStorage.getItem("MyFestivalCondition5")));
            cc.log(222);
        }

老哥,我又看了论坛上的文章试了一下,在加上一个判断条件,myFestivalConditionString!=="",就可以了。谢谢你的回答

不太清楚您说的情况,刚才测试了一下,我用的cocos自带的存档API在微信小游戏上可以实现功能,我的版本是2.0.9,或许现在兼容了吧。