晴明qm 2015-10-17 11:37 采纳率: 13.3%
浏览 4140

为什么JSON的数组长度要这么算呢?

eval(data).length

为什么JSON的数组长度要这么算呢?

除了这种形式还有其他方法吗?

  • 写回答

3条回答 默认 最新

  • yishuixs 2015-10-17 12:54
    关注

    使用eval()方法可以计算输入的字符串,并执行其中的JS代码,如果输入参数不是字符串,则将参数原封不动地返回。

    如果data是字符串,那么eval(data).length就将字符串解析成json对象后在计算数组长度,返回的当然是数组的长度值。
    如果data是对象,那么eval()就直接返回该对象,然后计算其数组长度。

    这个是老方法,现在早就不用了,据说不安全,可以执行恶意代码,所以ECMAScript5对JSON数据表示方式进行了规范,提供了stringify()和parse()两个方法来完成对象序列化和字符串解析的功能。

    json的数组长度如何计算要看json的数据结构如何,如果json只是一个普通数据对象,并非数组的形式,那么就没有length属性

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!