JSON

JavaScript Object Notation - JavaScript对象表示法

对象:

{

k1:v1

,k2:v2

,k3:v3

}

数组:

[

{}

,{}

]

示例:

{

1 : ”这是允许的”

,”2” : “这是允许的”

,”.” : “这是允许的”

,”中文”: “这是允许的”

,persons:[

{id:1,name:”张三”}

,{id:2,name:”李四”}

]

,obj :{

id:3

name:”王五”

}

}

对象和数组可以互相嵌套

访问对象的方式:对象.key 或 对象[key]

代码举例

    <script type="text/javascript">
        var obj = {
            1: "这是允许的"
            , "2": "这是允许的"
            , ".": "这是允许的"
            , "中文": "这是允许的"
            , persons: [
                {id: 1, name: "张三"}
                , {id: 2, name: "李四"}
            ]
            , obj: {
                id: 3
                , name: "王五"
            }
        };
        //访问元素
        console.log(obj["obj"]["id"]);
        //访问数组元素  通过索引访问,索引从0开始计数
        console.log(obj["persons"][1]);

    </script>

图片部分为在火狐浏览器中石油Firebug调试的结果,console.log用于在控制台输出消息

可以使用 for...in... 语句来对JSON数据进行遍历

        for(var c in obj){
            console.log(c+":"+obj[c]);
        }

修改数据:

  直接获取保存数据的变量进行赋值即可

新增数据:

  “挂”上新的键,给个值即可

  如:obj.newKey = "newValue"

删除数据:

  使用 delete 语句

  delete obj[id]

时间: 2024-12-18 15:45:03

JSON的相关文章

深入理解JavaScript系列(9):根本没有“JSON对象”这回事!

前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢. 正文 本文的主题是基于ECMAScript262-3来写的,2011年的262-5新规范增加了JSON对象,和我们平时所说的JSON有关系,但是不是同一个东西,文章最后一节会讲到新增加的JSON对象. 英文原文:http://benalman.com/news/2010/03/theres-no-s

深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)

才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情.具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多. 此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档.执行同行评审以及运行JSLint.这些习惯和最佳做法可以

深入理解JavaScript系列 --汤姆大叔

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6

理解Javascript的动态语言特性

原文:理解Javascript的动态语言特性 Javascript是一种解释性语言,而并非编译性,它不能编译成二进制文件. 理解动态执行与闭包的概念 动态执行:javascript提供eval()函数,用于动态解释一段文本,并在当前上下文环境中执行. 首先我们需要理解的是eval()方法它有全局闭包和当前函数的闭包,比如如下代码,大家认为会输出什么呢? var i = 100; function myFunc() { var i = 'test'; eval('i = "hello."

深入理解JavaScript系列(50):Function模式(下篇)

介绍 本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结. 立即执行的函数 在本系列第4篇的<立即调用的函数表达式>中,我们已经对类似的函数进行过详细的描述,这里我们只是再举两个简单的例子做一下总结. // 声明完函数以后,立即执行该函数 (function () { console.log('watch out!'); } ()); //这种方式声明的函数,也可以立即执行 !function () { console.

《深入理解JavaScript系列》系列技术文章整理收藏

<深入理解JavaScript系列>系列技术文章整理收藏 深入理解JavaScript系列来自汤姆大叔的整理贴,原文地址http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 此处收藏供JavaScript学习参考 1深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2深入理解JavaScript系列(2):揭秘命名函数表达式 3深入理解JavaScript系列(3):全面解析Module模式

深入理解JavaScript系列(31):设计模式之代理模式

介绍 代理,顾名思义就是帮助别人做事,GoF对代理模式的定义如下: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. 代理模式使得代理对象控制具体对象的引用.代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西. 正文 我们来举一个简单的例子,假如dudu要送酸奶小妹玫瑰花,却不知道她的联系方式或者不好意思,想委托大叔去送这些玫瑰,那大叔就是个代理(其实挺好的,可以扣几朵给媳妇),那我们如何来做呢? // 先声明美女对象 var girl = func

深入理解JavaScript系列(2):揭秘命名函数表达式

前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点. 简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你就会发现其实是不切实际的.当然,如果你不关注调试,那就没什么可担心的了,否则,如果你想了解兼容性方面的东西的话,你还是应该继续往下看看. 我们先开始看看,什么叫函数表达式,然后再说一

深入理解JavaScript系列(转自汤姆大叔)

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6

深入理解javascript原型和闭包(16)——完结

之前一共用15篇文章,把javascript的原型和闭包. 首先,javascript本来就"不容易学".不是说它有多难,而是学习它的人,往往都是在学会了其他语言之后,又学javascript.有其他语言的学习经历和实践经历,再加上自学javascript,边学边用,肯定会产生许多误解,走许多弯路.我就没少经历,也算是一种教训. 其次,原型和闭包又是一对难兄难弟,一来是他俩比较难懂,而来是他俩都或多或少的给初级开发人员带来许多BUG.不懂原型和闭包,你也可以开发javascript程序