json是一种轻量级的数据交换格式
json可以表示三种值
1.简单值:可以在json中表示字符串,数值,布尔值和null.
2对象:复杂数据类型.而每个键值对儿的值可以是简单值,也可以是杂数据类型.
3数组:数组是一种复杂的数据类型
JavaScript和json字符串最主要的区别就是json必须用双引号表示.
json中的对象和JavaScript中的对象
JavaScript对象:
var person= {
name:'nicholas',
age:29
};
var object = {
'name':'nicholas',
'age':29
};
json表示对象方法:
{
'name':'nicholas',
'age':29
}
{
'name':'nicholas',
'age':29,
'school':{
'name':'Merrimack College',
'location':'North Andover,Ma'
}
}
json中的数组:
[
{
'title':'hello world',
'authors':[
'Nc'
],
'edtior':3,
'year':2011
},
{
'title':'hello world',
'authors':[
'Nc'
],
'edtior':3,
'year':2011
},
]
json的解析:json数据格式解析为有用的JavaScript对象
早起json解析用JavaScript的eval()函数,但是其存在风险,JSON对象有两个方法:stringify()和parse()
var book= {
'title':'pro',
aut:[
'nick'
],
editor:3,
year:2011
};
json.stringify()把JavaScript对象转化为json字符串
var jsonText = JSON.stringify(book);
把json字符串直接传递给json.parse()可以得到JavaScript用的值
var bookCopy = JSON.parse(jsonText);
console.log(jsonText);
console.log(bookCopy);
console.log(bookCopy.title)
json.stringify()第一个参数是原对象,第二个参数是数组或者是对象,输出这个就会连属性一起输出出来
var book= {
'title':'pro',
aut:[
'nick'
],
editor:3,
year:2011
};
var jsonText = JSON.stringify(book,['title','editor']);
console.log(jsonText)
第三个参数是缩进和空白符
toJSON()的这个方法会返还自身的json数据格式
Ajax:AJAX 是一种用于创建快速动态网页的技术。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术
ajax运用JavaScript操作DOM,运用XMLHttpRequest或新的Fetch API与网页服务器进行异步资料交换.
例子:http://jingyan.baidu.com/article/148a1921a482cf4d71c3b1c6.html
JSONP:是应用json的一种新方法,JSONP有两部分组成,回调函数和数据组成.回调函数的名字是在请求中指定的,而数据就是传入回调函数中的json数据,JSONP是通过动态创建<script>
标签,通过src属性指定一个跨域的URL.