来源:http://www.cnblogs.com/yy95/p/5621721.html
1.什么是JSON?
- JSON是JavaScript对象表示法(JavaScript Object Notation)
- JSON是轻量级的文本数据交换格式
- JSON独立于语言
- JSON具有自我描述性,更容易理解
2.JSON—-转换为JavaScript对象
JSON文本格式在语法上与创建JavaScript对象相同
无需解析器,JavaScript程序能够使用内奸的eval()函数,用JSON数据生成原声的JavaScript对象。
3.JSON值
- 数字(证书或浮点数)
- 字符串(双引号中)
- 逻辑值(true,false)
- 数组(方括号中)
- 对象(花括号中)
- null
json对象写法:{ “firstName”:”John” , “lastName”:”Doe” }
json数组写法(可包含多个json对象):
var employees = [
{ “firstName”:”Bill” , “lastName”:”Gates” },
{ “firstName”:”George” , “lastName”:”Bush” },
{ “firstName”:”Thomas” , “lastName”: “Carter” }
];
读取json数组的方式:
employees[0].lastName;//获取第一项json对象的lastName属性的值
for(var i=0;i employees.length;i++){//js中遍历json数组中的所有的值
alert( employees[i].firstName);
alert( employees[i].lastName);
}
var a={
“employees”: [
{ “firstName”:”John” , “lastName”:”Doe” },
{ “firstName”:”Anna” , “lastName”:”Smith” },
{ “firstName”:”Peter” , “lastName”:”Jones” }
]
}
a.employees[0].lastName;//获取employees第一项json对象的lastName属性的值
4.常用的地方,ajax+jax
a)jquery的ajax基础用法:
获取表单信息,并将该信息传给服务器,服务器像前端返回json数组对象,前端获取之后读取该json数组对象(图片中描述不准确,补充:返回的是对象就可以直接遍历)
表单数据少时,可以采用直接像下面这样获取表单数据之后传递给服务器
实例一:
实例二:服务器只向前端传了一个数值类型的数据(直接输出data就可以得到该值,因为json的值可以是数值,用data[0]一样可以的得到)
b)复杂一点的用法
1) 当表单数据多时,就需要拼接数据。
先将表单序列化(红框部分,序列化后的表单返回的对象是一个json数组对象可以通过遍历得到每个控件的属性名和其对应的属性值,表单的每个控件里面都要写有name 和value属性值,不然不能像下面这样读取到),然后将所有的值拼接成我们实际需要的json格式的对象。
2)当表单数据多时,对数据的处理方法二
和上面第一种方法一样,当表单数据多时我们需要对每个属性及其对应的属性值进行拼接,这样拼会很麻烦。
下面用tojson方法来将表单数据转化为json对象也是不错的选择,这样不用将属性名写在控件中,直接在js中写也方便检查错误。