您的位置:首页 > Web前端 > JavaScript

JSON入门

2008-04-02 09:59 369 查看
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

上面的写法是官腔写法,俗称装B,你不理解也无所谓。

事实上,JSON是使用AJAX技术时常用的一种返回数据的格式,与XML各有千秋,其优点在于其简洁性(也就是所谓的轻量级了),以及JavaScript对其的内嵌支持

下面的代码声明了一个JSON对象:


var people =




...{ "programmers": [




...{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },




...{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },




...{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }


],


"authors": [




...{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },




...{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },




...{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }


],


"musicians": [




...{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },




...{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }


]


}

可使用如下代码进行访问:

people.programmers[0].lastName

下例演示了一个最简单的写法:




var people = ...{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" };


alert(people.firstName);

上面JSON对象都是作为键值对的形式使用的,实际上,JSON对象也可以作为线性数组初始化的,如下所示:


var people = [ "John", "Tom", "Mary" ];


alert(people[0]);


alert(people.toJSONString());

上例中使用了一个toJSONString()方法,实际上这是由json.js提供的,由JSON官方网站提供

json.js提供了如下函数:


array.toJSONString(),


boolean.toJSONString() ,


date.toJSONString(),


number.toJSONString(),


object.toJSONString(),


string.toJSONString():

可以将这些对象都转为json文本串

还有一个string.parseJSON()函数,可以将文本串解析成JSON对象或array,如下所示


var str='["0","1"]';


var obj = str.parseJSON();


document.write(obj[0]);


document.write(obj[1]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: