# JSON
对象
JSON
既然是用来传递数据的,必然要先存储数据,存储数据需要采用一定的数据格式, JSON
常用的数据格式有 JSON
对象、 JSON
数组和 JSON
字符串。
# 什么是 JSON 对象
JSON
对象(通常叫 JSON
)是一种文本数据的交换格式,用于存储和传输数据。示例如下:
{"name:"Jerry", "age":15} |
这就是一个简单的 json
对象,它的规则是:
- 数据以键 / 值对的形式存在;
- 数据之间用逗号间隔;
- 大括号表示保存对象;
- 方括号表示保存数组。
# JSON
对象与 Javascript
对象的区别
而 JSON 是基于 JavaScript 语法的,所以 JSON 中也有对象的概念,但是和 JavaScript 中的对象有一些小的区别。
定义一个 JavaScript 对象:
var myObject = { | |
id:1, | |
name:"Peter Bruce", | |
"first name":"Bruce", | |
display:function() { | |
console.log(this.name); | |
} | |
} |
定义一个 JSON 对象:
{"id":1,"name":"Peter Bruce","first name":"Bruce"} |
三点区别:
JSON 对象的属性名(key)必须被包含在双引号之中,而 JavaScript 对象除了有空格的属性名、中间有连字符
-
的属性名必须在双引号之中外,其它随意;不能在 JSON 对象中定义方法,而在 JavaScript 对象中可以;
JSON 对象可以被很多语言操作,而 JavaScript 对象只有 JS 自己可以识别。
定义 JSON 对象的方法如下:用一个 {}
包含在内,内部是若干个属性名和属性值构成的键值对,键值对之间用 ,
隔开,属性名和属性值之间用 :
隔开,属性值可以是以下任意一种数据类型的数据:数字、字符串、JSON 数组、JSON 对象、null。如:
{"a":1,"b":2.12,"c":true,"d":"string","e":null}; |
# 在 JavaScript 中使用 JSON 对象
支持 JSON 的语言都能够使用 JSON 对象,这里仅介绍在 JavaScript 中如何使用 JSON 对象。
在 JavaScript 中定义一个 JSON 对象:
var jsonObject = {"name":"js","number":2}; |
操作属性,使用 .
或者 []
:
console.log(jsonObject.name);// 读属性,输出 js | |
console.log(jsonObject["name"]);// 读属性,输出 js | |
jsonObject.name = "javascript";// 写属性,给 name 属性赋值 javascript |
- 删除属性,使用
delete
:
var jsonObject = {"name":"js","number":2}; | |
delete jsonObject.name;// 删除 name 属性 |
- 遍历属性,使用
for-in
循环:
var jsonObject = {"name":"js","number":2}; | |
for(att in jsonObject) { | |
console.log(jsonObject[att]);// 依次输出 js、2 |
# 示例
function mainJs(a,b,c) { | |
// 请在此处编写代码 | |
/********** Begin **********/ | |
var JSONObject = {"key1":a,"key2":b,"key3":c};// 定义 JSON 对象 | |
delete JSONObject.key3;// 删除名字为 key3 的属性 | |
var result = ""; | |
for(var att in JSONObject) {// 遍历剩余所有的属性 | |
result = result+JSONObject[att]+","; | |
} | |
return result.slice(0,-1); | |
/********** End **********/ | |
} |