js通过变量获得json数据

// 一个JSON数组

{

 "s81664841290841200000":[

                   {"number":0,"maxnumber":2}

                             ],

 "s516652423491597000":[

                            {"number":1,"maxnumber":4}

                    ],

 "s97187674431254320000":[

                               {"number":2,"maxnumber":3}

                             ]

}

//取值一、

      s516652423491597000[0].number // 结果:1

      s516652423491597000[0].maxnumber    //结果:4

 

上面是JSON最常用的取值方法,现在做一个假设,如果上面的JSON我们用变量保存起来,格式如下:

var obj ={

 "s81664841290841200000":[

                    {"number":0,"maxnumber":2}

                             ],

 "s516652423491597000":[

                            {"number":1,"maxnumber":4}

                    ],

 "s97187674431254320000":[

                               {"number":2,"maxnumber":3}

                             ]

}

 

//取值二、

   obj.s516652423491597000[0].number // 结果:1

      obj.s516652423491597000[0].maxnumber    //结果:4

 

上面我们同样可以获取到数据。假设现在以s开头的key是自动生成的并且我们现在的key 我们需要使用变量去获取里面的值怎么获取了?在获取值需要先明白一个概念:

1、JSON是一个文本格式

2、 上面我们定义了一个obj的变量储存了JSON,是使用字面量表示法定义了一个对象,并赋值了一个属性,这个过程结果就跟SON没有任何关系了

// 取值三、

      var keys = "s516652423491597000";   //声明变量

      //错误使用变量用法

      obj.keys[0].number   //结果:undefined

      obj.keys[0].maxnumber      //结果:undefined

    上面的为什么错了?其实是我们定义的obj 内部并没有 keys这个属性,所以访问不到里面的任何数据,那如何将这个keys作为obj的键[key],并输出obj对象中的值呢?代码如下:

      //正确使用变量方法

      obj[keys][0].number //结果:1

      obj[keys][0].maxnumber    //结构4

 

取值三中我们使用了[ 变量 ]代替KEY 获取到了结果,此时如果是二级中的key也是需要使用变量来获取那有该怎么办了。

//取值四、

    var keys = "s516652423491597000";            //声明变量

      var keysTown ="number";      //二级key变量

      var keysTowm ="maxnumber"; //二级key变量

      obj[keys][0][keysTown]        //结果1

      obj[keys][0][keysTowm ] //结构:4

 

取值四中我们同样也是使用了[ 变量 ] 代替了二级的KEY 获取到了结果。使用这种方法就算是N级也可以也可以拿到内部的值诺。

 

总结:上面的问题也是我在使用json的时候出现了的,分享出来也许能帮助到让大家,也让大家少走弯路并且明白什么是JSON 。上面的代码如果有错误或者有更好的方法获取,希望您能在留言区留言不吝赐教。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值