2021-10-20 cocos creator笔记(1)

关于TS导入Json的问题

将Json字符串转成条件语句的问题

在使用cocos导入Json数据库时发先一个问题,在我的Json数据库中有类似“a>b”这样的判断条件,想在if()的判断语句中直接使用,但是不管怎么改变a和b的大小得到的结果一直为True。
后来通过各种实验发现原来在json解析过来的数据除了数字可以直接在Js中使用,其它格式的数据全部都是字符串类型,如果直接使用的话在if()语句中只是判断字符串是不是空,并不判断其中的条件。
因为是数据格式问题所以直接用JSON.parse();的方法并不能直接转译,出来的其实还是字符串。
也尝试用JSON.stringify(“Json数据”).replace(/"/g, “”)的方式消除两边“”的方法,但你本身就是一个字符串,双引号不是字符,只是代表a>b是字符串,所以结果自然就是a>b,不存在去不去掉之说,所以这个方法是不行的。通过打印出来的数据并不是只有带“”的才是字符串类型。

将Json字符串转成条件语句的方法

正确的方式其实很简单,使用eval();语句直接处理数据。

eval() 是全局对象的一个函数属性。
eval() 的参数是一个字符串。如果字符串表示的是表达式,eval() 会对表达式进行求值。如果参数表示一个或多个 JavaScript 语句,那么eval() 就会执行这些语句。

所以解决的方法是if(eval(“a>b”)),这样就可以直接使用字符串做判断表达语句了。

总结

通过打印出来的数据并不是只有带“”的才是字符串类型,用了太多的方法,其实是最开始的思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值