JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
比较标准的写法:
var json = '{"a":"1", "b":"2"}';
var data = eval('('+ json +')');
alert(data.a);
alert(data['a']);
这样两种方式都可以取到json中的值。
但是当key的值为数字时,只能使用类似数组下表的访问方式取值。
var json = '{"0":"a", "1":"b", "length":2}';
var data = eval('(' + json + ')');
//alert(data.0); //报错,此方式不可用
alert(data['0']);
alert(data[0]); //注意此写法与数组用下标访问是相同的
alert(data.length) //貌似数组的长度
1.使用json时,通常都使用第一种方式,且key一般应使用合法的变量名(字母或下划线开头的包括字母、下划线和数字的字符串)
2.对象的两种访问方式:data.key和data[’key’]各自有自己的应用场景,一般情况使用data.key即可,也比较直观(它符合其它高级语言中访问对象中属性的方式);
当key为一个变量时,并且使用在循环中,用data['key']这种方式。
for(var i=0; i < 10; i++) {
s += data['key' + i]; //循环调用,可简化代码
}
3.第三种采用数字做key的方式,虽然不推荐,但也是有其应用价值的;
如当建立一个与数据库中id一一对应的map对象的时候,
可直接用id的数值做key,虽然你可以给它加上一个字母前缀来让它符合合法的变量名的标准,
并让它的数据能通过data.key的方式访问,
但如果数据量非常大的话,
为每个id都加一个前缀,+字符连接运算也是要消耗性能的,
特别是在很少需要采用data.key方式去访问属性的情况下,
那么可以抛弃此调用方式,直接用数字做key也未尝不可,
除了key名称不符合合法变量名的标准之外,似乎并没有其它损失;
分享到:
相关推荐
1. 根据key获取json的值; 2. 根据index获取Array的值; 3. 根据sys_cursor等生成json数据; 4. 验证是否json格式等 备注:数据格式只支持字符串的形式,不支持数字,不然数据会有误。 下面是pl\sql里写的包,弄...
本文通过实例详解JSON取值(key是中文或者数字)方式,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,...
数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、...
近期公司用到了Timesten内存数据库,但是Timesten暂...1. 根据key获取json的值; 2. 根据index获取Array的值; 3. 根据sys_cursor等生产成json数据; 备注:数据格式只支持字符串的形式,不支持数字,不然数据会有误。
先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List...
这个错误告诉我,[ ]里面应该是数字而不是字符串,但是dict使用key访问也可以,这种错误感觉解析出来的结果像是一个list。 所以考虑是字符串解析的问题。打印解析的结果,是一长串的字符串,一堆的key挤在一起,...
这是简单的JSON Config或sjcfg 它提供了一个... 所使用的文件按优先顺序排列: -f值,如sjcfg -f file.json my.key或sjcfg -f file.json my.key value $SJCFG_FILE环境变量的内容$HOME/.config/sjcfg.json (如果未定
Json对象代表任何JSON值:null,bool,数字(整数或双精度),字符串(std :: string),数组(std :: vector)或对象(std :: map)。 Json对象的作用类似于值。 可以对它们进行分配,复制,移动,比较是否相等或...
选项:json-type默认为:any ,但是您可以使用以下方法之一控制每个插槽值与JSON的相互转换:JSON类型说明符类型评论:any 猜测编码和解码值的方法:string 强制一个字符串值:number 强制数字值:hash-table 强制执行...
JSON 语法 JavaScript 对象表示语法的子集。 数据在名称/值对中 ...JSON 对象使用在大括号({})中书写。 对象可以包含多个 key/value(键/值)对。 key 必须是字符串,value 可以是合法的 JSON 数据类型
数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组...
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。 key 和 value 中使用冒号(:)分割。 每个 key/value 对使用逗号(,)分割。 访问对象值 你可以使用点号(.)来...
将 $n 附加到数字值的键以防止令人讨厌的 loggly 错误“由于索引时的映射冲突而删除了解析的字段(即最初作为一种类型发送,后来作为新类型发送)” Loggly 本身将键限制为 64 个字符,它还用下划线替换任何空格或...
key必须是字符串,value只能是: 字典,列表,字符串,数字,bool值 在任何语言中他的type都必须是字符串类型 json是所有的变成语言都公认的一种数据类型 如果是python语言要给java语言发送信息,那么就可以转换...
value Object值,将与 JSON.stringify 一起存储 lifetime :数字(可选)密钥应在多长时间后到期,以seconds callback :函数(可选) iCache . set ( 'hi' , 'Hello World' ) ; iCache.get 按键获取。 key : ...
主要是实现了验证,是否为空,是否为数字等。 3.JavascriptHelp 帮助输出简单的JS代码 4.最新的皮肤帮助类 UI_Misc_Helper JavaScript|Jquery相关 1.jQuery.cookie帮助类 访问系统相关 1.C#计算机信息类...
键代表您要绑定的键(数字acsii值或字符本身或KEY_CHARACTER(可用于数字))。 该值应该是一个json字符串,其中包含应执行的操作 [keybindings] f = { " action " : " ActivateWindow(favourite) " } # map f key...
根据Key取Value值 2.根据Key修改Value 3.添加新的Key ,Value键值对 4.根据Key删除项 复制代码 17.日历 CNDate 1.传回公历y年m月的总天数 2.根据日期值获得周一的日期 3.获取农历 复制代码 18.上传下载 ...
获取服务器传来的数组数据进行,找出其中价格相同的进行数量相加,合并该段数据: ... let contrast_1 = JSON.parse(JSON.stringify(orderList)); for(let x in contrast_1){ contrast_1[x].trade_price = this.toD