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

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

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

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

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

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

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

json处理动态key方式

先准备案例对象

  1. var jsonArr = [
  2. {"id": "1", "name": "A1"},
  3. {"id": "2", "name": "A2"},
  4. {"id": "3", "name": "A3"},
  5. {"id": "4", "name": "A4"},
  6. {"id": "5", "name": "A5"}
  7. ]
  1. 如果数据量不大,偶尔查询一次,使用for...in遍历

  2. 如果数据量大,经常使用,建立查找表提升性能

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

JSON取值(key是中文或者数字)方式详解的更多相关文章

  1. JSON创建键值对(key是中文或者数字)方式详解

    JSON创建键值对(key是中文或者数字)方式详解 先准备好一个空的json对象 var obj = {}; 1. 最原始的方法 obj.name = 'zhangsan'; //这种方式很简单的添加 ...

  2. 选中没有选中的复选框,匹配含有某个字符串的正则,json取值的两种方法,把变量定义在外面跟里面的区别

    一.筛选没有选中的复选框:not("input:checked") 二.匹配有VARCHAR的字符串:".*VARCHAR.*?" 三.json取值的两种方法 ...

  3. dede的pagelist标签的listsize数字属性详解(借鉴)

    dede的pagelist标签的listsize数字属性详解.见远seo经常用织梦搭建各种网站,有次发现列表页面的分页显示超过div的界限,也就是溢出了或者说是撑破了.后来经过研究发现是pagelis ...

  4. dede的pagelist标签的listsize数字属性详解

    转载▼http://blog.sina.com.cn/s/blog_a4f3bd4e01012c8n.html dede的pagelist标签的listsize数字属性详解.见远seo经常用织梦搭建各 ...

  5. JAVA中的四种JSON解析方式详解

    JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...

  6. loadrunner 参数化取值方式详解

    参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...

  7. 利用c++编写bp神经网络实现手写数字识别详解

    利用c++编写bp神经网络实现手写数字识别 写在前面 从大一入学开始,本菜菜就一直想学习一下神经网络算法,但由于时间和资源所限,一直未展开比较透彻的学习.大二下人工智能课的修习,给了我一个学习的契机. ...

  8. ios中键值编码kvc和键值监听kvo的特性及详解

    总结: kvc键值编码  1.就是在oc中可以对属性进行动态读写(以往都是自己赋值属性)           2. 如果方法属性的关键字和需要数据中的关键字相同的话                  ...

  9. 闲扯json取值,联想map取值。

    将list转json(list中的Bean的属性名称为变量,若为常量没必要采用此方式,直接转实体类即可) JSONArray json = JSONArray.fromObject(list); fo ...

随机推荐

  1. file-API 实现添加图片 预览缩略图(自己学习)

    首先看看 "效果图" : 我们最终实现的就是点击右侧的"相机"按钮添加想要添加的图片然后可以根据需要删除(点叉删除本条)或再次添加图片,并显示缩略图....走起 ...

  2. 接口自动化(Python)-利用正则表达式从返回的HTML文本中截取自己想要的值

    例如一个功能接口的返回值 是一个HTML文本: 例如我们要取上图中标识的id的值,并且这个值是动态的,这是我们就需要用到正则表达式进行匹配. 如下是正则匹配的方法(代码中都有注释): 我们在真正使用的 ...

  3. Python学习——(1)Centos安装Flask

    一.环境 [root@localhost myproject]# cat /proc/version centos6.5 Linux version 2.6.32-642.11.1.el6.i686 ...

  4. metasploit快速入门

    今天没上班,在小黑屋里看了一个一百多页的书<metasploit新手指南>,在此将笔记分享给大家.欢迎大家批评指正,共同学习进步.     metasploit新手指南 笔记 kali 0 ...

  5. Numpy 操作

    一.Numpy 属性 # 列表转化为矩阵 In []: arr = np.array([[,,],[,,]]) In []: arr Out[]: array([[, , ], [, , ]]) 1, ...

  6. Oracle 11g DG手工switchover切换标准化流程

    Oracle 11g DG手工switchover切换标准化流程 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + Oracle DB 11.2.0.4 Primary RAC(2 ...

  7. python学习笔记1 循环、列表、元祖、数据类型

    if语法:基于python3语法 if a<b: 冒号结尾 print("yes") 注意语句的缩进需要一致,不然会报语法错误. elif a==b: print(" ...

  8. Core 2.0 的dll实时更新、https、依赖包变更问题及解决

    今天所有开发环境已经迁移到mac OS下的Visual Studio Code + 命令行编译发布,而运行服务器是CentOS7,和windows没什么关联了. 只要你Relese编译并在本地有一个与 ...

  9. 链接样式L-O-H-A

    伪类可以链接起来使用,即不用在乎顺序 :link{color:blue;} :visited{color:purple;} :link:hover{color:red;} :visited:hover ...

  10. 打鼹鼠 HNOI 2004

    动态规划题从题目中可以发现是一个时间递增的过程,所以只要是在后面的点都是后出现的,换句话说,在条件达成时,前面的点可以到达后面的点,求最长的一条链,非常的像LIS(最长上升子序列),只要将 f[i]& ...