JavaScript对象表示法(适合于服务器与JavaScript的客户端交互)
可以用来表示String number boollean 数组 对象 等数据类型。
JSON文本格式数据解析成对象
JS中的应用:
一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
如:var user ='{"id":1001,"name":"朱海涛","hobby":["编程","打球"]}';
用这种方法解析:key必须为双引号
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
<script type="text/javascript">
var user ="{'id': 1001,'name': '朱海涛','hobby':['编程','打球']}";
var userObject=eval("("+user+")");
alert("JSON字符串转换成对象后:id:"+userObject.id+"用户名:"+userObject.name);
alert("数组中的数据,爱好:"+userObject.hobby[0]+" "+userObject.hobby[1]);
</script>
二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
java中的应用:
public class JSONTest{
//将java对象转换成JSON
@Test
public void TestJson(){
User user=new User();
user.setUserId(1715925062);
user.setUserName("朱海涛");
user.setUserAge(18);
JSONObject object=JSONObject.fromObject(user);
System.out.println(object);
}
//将java数组转换成JSON
@Test
public void TestArray(){
String [] usersName= {"小明","小刚","小涛","小浪"};
JSONArray arrays=JSONArray.fromObject(usersName);
System.out.println(arrays);
}
//将List转换成JSON
@Test
public void TestList(){
List <User> users=new ArrayList<User>();
for(int i=0;i<3;i++){
User user =new User();
user.setUserName("张三"+i);
user.setUserId(new Random().nextInt(100));
user.setUserAge(new Random().nextInt(100));
users.add(user);
}
JSONArray jsonArray=JSONArray.fromObject(users);
System.out.println(jsonArray);
}
}
1.什么是 AJAX ?
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。
2.AJAX的特点:
通过AJAX与服务器进行数据交换,AJAX可以使网页实现局部刷新。
3.AJAX的核心:
Ajax的核心是JavaScript对象XMLHTTPRequest,简而言之,XMLHttpRequest使您可以通过
JavaScript想服务器进行处理响应。
4.同步和异步的概念 B/S模式(同步)Ajax(异步)
同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。
小白式理解:
同步:你现在传输吧,你完成了,我在做事
异步:你现在传输吧,我去做我的事情了,数据传输完了之后告诉我一声