json对象最后不要,逗号 字符衔接中间加,或者+
本周我想介绍一个我认为已经成为任何开发人员工具包的重要组成部分的主题:通过AJAX从其他站点加载和处理JSON源的能力。许多网站除了现在的RSS Feed之外还使用JSON共享数据,并且有很好的理由:可以比XML / RSS更容易地异步加载JSON Feed。本文将介绍以下内容:
- 什么是JSON?
- 为什么JSON重要?
- 我们如何在项目中使用JSON?
我们还将在本项目末尾使用我们的新技术与JSON,以构建一个从Flickr加载照片的快速应用程序,无需页面刷新。
什么是JSON?
JSON是短期的JavaScript对象符号,并存储在一个有组织的,易于访问的方式信息的方式。 简而言之,它给了我们一个人类可读的数据集合,我们可以以一种非常合乎逻辑的方式访问数据。
存储JSON数据
作为一个简单的例子,有关我的信息可能用JSON编写如下:
var jason = {
"age" : "24",
"hometown" : "Missoula, MT",
"gender" : "male"
};
这将创建一个使用该变量访问的对象jason
。通过将变量的值包含在花括号中,我们指出该值是一个对象。在对象内部,我们可以使用"name": "value"
配对声明任意数量的属性,用逗号分隔。要访问存储的信息jason
,我们可以简单地参考我们需要的属性的名称。 例如,要访问有关我的信息,我们可以使用以下代码段:
document.write('Jason is ' jason.age); // Output: Jason is 24
document.write('Jason is a ' jason.gender); // Output: Jason is a male
将数据存储在数组中
一个稍微复杂的例子涉及将两个人存储在一个变量中。为此,我们将多个对象包围在方括号中 ,表示数组。例如,如果我需要在一个变量中包含我自己和我的兄弟的信息,我可能会使用以下内容:
var family = [{
"name" : "Jason",
"age" : "24",
"gender" : "male"
},
{
"name" : "Kyle",
"age" : "21",
"gender" : "male"
}];
要访问此信息,我们需要访问我们希望访问的人员的数组索引。例如,我们将使用以下代码片段访问存储的信息family
:
document.write(family[1].name); // Output: Kyle
document.write(family[0].age); // Output: 24
注意:如果需要循环访问存储的信息,这将是有益的,因为它可以自动增加一个for
具有自动递增值的循环。
嵌套JSON数据
在变量中存储多个人的另一种方法是嵌套对象。 为此,我们将创建类似于以下内容的内容:
var family = {
"jason" : {
"name" : "Jason Lengstorf",