【Person类】
public class Person {
private String Id;
private String Name;
private String Sex;
public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
}
【Gson实现】
public void xxx{
response.setHeader("Content-Type", "text/html; charset=utf-8");//设置编码格式
PrintWriter out = response.getWriter();
Gson gson = new Gson();
Person person = new Person();//存储数据
person.setId("1");
person.setName("aaa");
person.setSex("man");
String gsonString = gson.toJson(person);
System.out.println(+gsonString);
out.print(gsonString);//输出流
out.flush();//刷新流数据
out.close();//关闭流
}
**【注】
1.PrintWriter将数据解析为流传输
2.Gson将数据解析为格式为键值对的字符串{“Id”:”1”,”Name”:”aaa”,”Sex”:”man”}**
javascript部分
【Json解析数据】
function jsonUse(){
var xmlhttp =new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4){
var data = xmlhttp.responseText;
alert(data);//{"Id":"1","Name":"aaa","Sex":"man"}
var dataArray = eval("("+data+")");
alert(dataArray.Id+"-"+dataArray.Name+"-"+dataArray.Sex);//1-aaa-man
}
};
xmlhttp.open("post","JsonServlet",false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(null);
}
** }
【注】
1.接收到的值通过eval格式化数据 var dataArray = eval(“(“+data+”)”);
2.解析后的数据通过 a.b 获取数据 **