JSON

1、JSON概述

JSON:JavaScript Object Notation(JavaScript 对象标记法),它是一种存储和交换数据的语法。

当数据在浏览器与服务器之间进行交换时,这些数据只能是文本,JSON 属于文本并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。我们也能把从服务器接收到的任何 JSON 转换为 JavaScript 对象。以这样的方式,我们能够把数据作为 JavaScript 对象来处理,无需复杂的解析和转译。

2、JSON语法

在json中,每一个数据项,都是由一个键值对(或者说是名值对)组成的,但是键必须是字符串,且由双引号包围,而值必须是以下数据类型之一:

  • 字符串(在 JSON 中,字符串值必须由双引号编写)
  • 数字
  • 对象(JSON 对象)
  • 数组
  • 布尔
  • null

JSON 的值不可以是以下数据类型之一:

  • 函数
  • 日期
  • undefined

因为 JSON 语法由 JavaScript 对象标记法衍生而来,所以很少需要其它额外的软件来处理 JavaScript 中的 JSON。

通过 JavaScript,您能够创建对象并向其分配数据,就像这样:

var person = {"name": "zhangsan", "age": 62, "city": "BeiJing"};
console.log(person);

javascript 是否是json javascript的json方法_javascript

3、JSON数据类型

3.1、JSON 字符串

JSON 中的字符串必须用双引号包围。

{"name": "John"}

1

3.2、JSON 数字

JSON 中的数字必须是整数或浮点数。

{"age": 30}
3.3、JSON 对象

JSON 中的值可以是对象,JSON 中作为值的对象必须遵守与 JSON 对象相同的规则。

{
    "employee": {"name": "Bill Gates", "age": 62, "city": "Seattle"}
}
3.4、JSON 数组

JSON 中的值可以是数组。

{
    "employees": ["Bill", "Steve", "David"]
}
3.5、JSON 布尔

JSON 中的值可以是 true/false。

{"sale": true}
3.6、JSON null

JSON 中的值可以是 null。

{"middlename": null}

4、JSON字符串转JS对象

JSON.parse():可以将以JSON字符串转换为JS对象,它需要一个JSON字符串作为参数,会将该字符串转换为JS对象并返回

案例演示:

var jsonStr = '{"name":"孙悟空","age":18,"gender":"男"}';
var obj = JSON.parse(jsonStr);
console.log(obj);

javascript 是否是json javascript的json方法_javascript_02

注意 :JSON这个对象在IE7及以下的浏览器中不支持,所以在这些浏览器中调用时会报错

5、JS对象转JSON字符串

JSON.stringify():可以将一个JS对象转换为JSON字符串,需要一个js对象作为参数,会返回一个JSON字符串

案例演示:

var obj = {name: "猪八戒", age: 28, gender: "男"};
var jsonStr = JSON.stringify(obj);
console.log(jsonStr);

注意 :JSON这个对象在IE7及以下的浏览器中不支持,所以在这些浏览器中调用时会报错