# 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

# 示例

1662172099219

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 **********/
}