Ajax 接收服务器返回的json响应方法
1、什么是json?
json(javascript object notation, js 对象标记) 是一种轻量级的数据交换格式。它基于 ecmascript 规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 json 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。这是百度百科给出的json的定义。
我理解的json是js创建对象的一种方法,后来从js中独立出来,作为一种字符串数据的表示法,被各种语言支持;相对于xml而言,比xml更加轻量级、简洁、处理速度更快;
2、json的两种格式:
json对象字符串格式:'{"key1":"value1","key2":"value2"}'
json数组字符串格式:'[value1,value2,value3,...]'
3、json 与 js 对象的关系:
json 是 js 对象的字符串表示法,它使用文本表示一个 js 对象的信息,本质是一个字符串。
var obj = {a: 'hello', b: 'world'}; //这是一个对象,注意键名也是可以使用引号包裹的 var json = '{"a": "hello", "b": "world"}'; //这是一个 json 字符串,本质是一个字符串
4、json 和 js 对象互转
浏览器提供的方法:
要实现从js对象转换为 json 字符串,使用 json.stringify() 方法:
var json = json.stringify({a: 'hello', b: 'world'}); //结果是 '{"a": "hello", "b": "world"}'
要实现从 json 转换为js对象,使用 json.parse() 方法:
var obj = json.parse('{"a": "hello", "b": "world"}'); //结果是 {a: 'hello', b: 'world'}
注:ie8(兼容模式),ie7和ie6没有json对象,推荐采用json官方的方式,引入json.js
jquery提供的方法 :
$.parsejson( jsonstr ); //jquery.parsejson(jsonstr),可以将json字符串转换成json对象
javascript提供的方法:
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为json对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
以上这篇ajax 接收服务器返回的json响应方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: Go 结构体序列化的实现