JavaWeb课程系列
5.java中操作json
在Java中可以从文件中读取JSON字符串,也可以是客户端发送的JSON字符串,所以第一个问题,我们先来看如何将一个JSON字符串转换成一个Java对象。
首先解析JSON字符串我们需要导入第三方的工具,目前主流的解析JSON的工具大概有三种json-lib、jackson、gson。三种解析工具相比较json-lib的使用复杂,且效率较差。而Jackson和gson解析效率较高。使用简单,这里我们以gson为例讲解。
Gson是Google公司出品的解析JSON工具,使用简单,解析性能好。
Gson中解析JSON的核心是Gson的类,解析操作都是通过该类实例进行。
解析外部文本文件中的JSON:
1、JSON字符串转换为对象
String json = "{\"name\":\"张三\",\"age\":18}"; Gson gson = new Gson(); //转换为集合 Map<String,Object> stuMap = gson.fromJson(json, Map.class); //如果编写了相应的类也可以转换为指定对象 Student fromJson = gson.fromJson(json, Student.class); |
2、对象转换为JSON字符串
Student stu = new Student("李四", 23); Gson gson = new Gson(); //{"name":"李四","age":23} String json = gson.toJson(stu);
Map<String , Object> map = new HashMap<String, Object>(); map.put("name", "孙悟空"); map.put("age", 30); //{"age":30,"name":"孙悟空"} String json2 = gson.toJson(map);
List<Student> list = new ArrayList<Student>(); list.add(new Student("八戒", 18)); list.add(new Student("沙僧", 28)); list.add(new Student("唐僧", 38)); //[{"name":"八戒","age":18},{"name":"沙僧","age":28},{"name":"唐僧","age":38}] String json3 = gson.toJson(list); |
我们在以后的使用中,会经常使用json来传递数据,xml这种方式基本上已经不用来传递数据了。所以我们以后的ajax请求获取到的数据多为json格式,我们要熟练掌握js中json的解析操作。
6.jquery中的ajax
jquery使得js变得更加简单易用。那么在jquery中是如何发送ajax请求的呢?
主要讲解jquery以下的几个方法。
$.get()、$.post()、$.getJSON()、$.ajax();
6.1 $.get();
jquery中发送get请求的方法
方法签名:
$.get(url, [data], [callback], [type])
[]表示参数可选
参数解析:
url:发送的请求地址
data:待发送 Key/value 参数。
callback:请求成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
发送示例:
$.get("user?method=login",{username:"lll",password:"lll"},function(data){
alert(data.errCode);
},"json");