JSON取值(key是中文或者数字)方式详解

先准备一个json对象用于演示

var json = {'name':'zhangsan', '年龄':23, 404:'你可能迷路了'};
  1. 使用JS中with关键字

     with(json) {
         console.log(name);//输出:zhangsan
         console.log(年龄);//输出:23 console.log(404);//输出:404,用这种方法读取key是数字的属性,有问题 }
  2. 最常见的传统的读取key

     console.log(json.name);//输出:zhangsan
     //key是中文也是支持的
     console.log(json.年龄);//输出:23 //key是Number类型或者String类型的数字都不能这么读取 console.log(json.404);//报错
  3. 通用万能型:json['key']

     console.log(json['name']);/输出:zhangsan
     console.log(json['年龄']);//输出:23 console.log(json['404']);//输出:你可能迷路了
  4. json[key]

     console.log(json[name]);/输出:undefinded
     console.log(json[年龄]);//报错 console.log(json[404]);//输出:你可能迷路了

json处理动态key方式

先准备案例对象

var jsonArr = [
    {"id": "1", "name": "A1"}, {"id": "2", "name": "A2"}, {"id": "3", "name": "A3"}, {"id": "4", "name": "A4"}, {"id": "5", "name": "A5"} ]
  1. 如果数据量不大,偶尔查询一次,使用for...in遍历
  2. 如果数据量大,经常使用,建立查找表提升性能

     //创建一个查找表函数
     function createLookMap(field) {
         var map = {};//创建一个空的json对象 for (var i = 0; i < jsonArr.length; i++) { var value = jsonArr[i];//将数组中的元素作为json对象的值 var key = value[field];//选取一个属性作为新的json对象的key map[key] = value; } return map; }

自测用例

var json={
100 : 1001,
epik : 'epik1',
匡正 : '匡正1',
// '100' : '100',
// 'epik' : 'epik',
// '匡正' : '匡正'
}

console.log(json['100']);
// console.log(json.100);//报错
console.log(json[100]);

console.log(json['epik'])
console.log(json.epik);
// console.log(json[epik]); //报错

console.log(json['匡正']);
console.log(json.匡正);
// console.log(json[匡正]);//报错

用例总结:

1,定义json的键时,加不加引号效果一样;

2,取json的建时,

  万能:[''],

  数字可以 []和[''],(.会报错)

  字符可以 .和['']  ([]会报错)

转载于:https://www.cnblogs.com/tkzc2013/p/10149979.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值