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");