JSON是什么
2017-04-12 本文已影响885人
辉夜乀
什么是 json?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript的一个子集,是用严格的JavaScript对象表示法表示结构化的数据。
JSON只是一种数据格式的规范,因此准确的叫法应该是:使用JSON格式的JS对象。
什么是 json 语言?
JSON 语法是 JavaScript 对象表示语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 语言如何表示对象?
JSON 数据的书写格式是:名称/值对,名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开。
json对象就是json的值,基本要符合以下规则
- 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
- 简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null
- 字符串必须使用双引号表示,不能使用单引号
- 对象的键名必须放在双引号里面
- 数组或对象最后一个成员的后面,不能加逗号
什么是 json 对象字面量?
对象字面量其实就是一种简单的描素以及声明方式。例如: var count = { "one": 1, "two": 2, "three": 3 }
, 因为本身 json 就是 JavaScript 语法集的一种,所以 json 字面量就是用 json 格式的 JavaScript 对象字面量
window.JSON 是什么?
用于判断浏览器是否兼容JSON的用法,例如IE8版本以上才内置支持JSON.parse方法,对此常见这样的写法:
if(window.JOSN){
jsonObj2 = JSON.parse(json);
}else{
}
JSON和字符串转化
JSON.stringify()
可以把一个JSON 对象转化成字符串。
JSON.parse()
可以把一个字符串转化成JSON对象
var obj = {
name: "cg",
age: 25,
address: {
country: "China",
city: "Beijing",
university: "CUP"
}
}
var str = JSON.stringify(obj); // 把对象转化成字符串
var obj2 = JSON.parse(str); // 把字符串转化成对象