1、首先,搭建一个服务器的工程:JsonProject这个项目
源代码:
Person.java
package com.json.domain
public class Person {
private int id
private String name
private String address
public Person() {
super()
}
public Person(int id, String name, String addrss) {
super()
this.id = id
this.name = name
this.address = addrss
}
public int getId() {
return id
}
public void setId(int id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getAddress() {
return address
}
public void setAddress(String address) {
this.address = address
}
@Override
public String toString() {
return "Person [addrss=" + address + ", id=" + id + ", name=" + name
+ "]"
}
}
JsonService.java
package com.json.service
import java.util.ArrayList
import java.util.HashMap
import java.util.List
import java.util.Map
import com.json.domain.Person
public class JsonService {
public JsonService() {
}
public Person getPerson(){
Person person = new Person(1001,"jack","上海黄浦区")
return person
}
public List<Person>getListPerson(){
List<Person>list = new ArrayList<Person>()
Person person1 = new Person(1001,"jack","上海黄浦区")
Person person2 = new Person(1002,"rose","上海闵行区")
Person person3 = new Person(1003,"mick","上海黄浦区")
list.add(person1)
list.add(person2)
list.add(person3)
return list
}
public List<String>getListString(){
List<String>list = new ArrayList<String>()
list.add("北京")
list.add("上海")
list.add("湖南")
return list
}
public List<Map<String,Object>>getListMaps(){
List<Map<String,Object>>list = new ArrayList<Map<String,Object>>()
Map<String,Object>map1 = new HashMap<String, Object>()
Map<String,Object>map2 = new HashMap<String, Object>()
map1.put("id", 1001)
map1.put("name", "jack")
map1.put("address", "北京")
map2.put("id", 1001)
map2.put("name", "rose")
map2.put("address", "上海")
list.add(map1)
list.add(map2)
return list
}
}
JsonServlet.java
package com.json.servlet
import java.io.IOException
import java.io.PrintWriter
import javax.servlet.ServletException
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import com.json.service.JsonService
import com.json.tools.JsonTools
public class JsonServlet extends HttpServlet {
private JsonService service
/**
* Constructor of the object.
*/
public JsonServlet() {
super()
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy()// Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response)
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/htmlcharset=utf-8")
request.setCharacterEncoding("utf-8")
response.setCharacterEncoding("utf-8")
PrintWriter out = response.getWriter()
String jsonString = ""
String action_flag = request.getParameter("action_flag")
if(action_flag.equals("person")){
jsonString = JsonTools.createJsonString("person", service.getPerson())
}else if(action_flag.equals("persons")){
jsonString = JsonTools.createJsonString("persons", service.getListPerson())
}else if(action_flag.equals("listString")){
jsonString = JsonTools.createJsonString("listString", service.getListString())
}else if(action_flag.equals("listMap")){
jsonString = JsonTools.createJsonString("listMap", service.getListMaps())
}
out.println(jsonString)
out.flush()
out.close()
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
service = new JsonService()
}
}
2、通过浏览器
访问地址一:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=person
输出以下结果:
{"person":{"address":"上海黄浦区","id":1001,"name":"jack"}
访问地址二:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=persons
输出以下结果:
{"persons":[{"address":"上海黄浦区","id":1001,"name":"jack"},{"addrss":"上海闵行区","id":1002,"name":"rose"},{"address":"上海黄浦区","id":1003,"name":"mick"}]}
访问地址三:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listString
输出以下结果:
{"persons":["北京","上海","湖南"]}
访问地址四:http://wulianghuan-pc:8080/JsonProject/servlet/JsonServlet?action_flag=listMap
输出以下结果:
{"persons":[{"id":1001,"address":"北京","name":"jack"},{"id":1001,"address":"上海","name":"rose"}]}
//从http request取得json字符串string jsonString = Server.UrlDecode(Request["json"])
//从http request取得id
int groupid = Convert.ToInt32(Request["groupid"])
//用自带的序列化方法将其转换成定义好的model类,具体的方法说明可以百度下
List<UserModel> listmodel = JsonConvert.DeserializeObject<List<UserModel>>(jsonString)
//进行保存操作
service.SaveAuthority(groupid, listmodel)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)