2012-03-15 46 views
0
import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.ArrayList; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 

import com.google.gson.Gson; 

@WebServlet("/GetJSONUser") 
public class GetJSONUser extends HttpServlet { 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     System.out.println("##QUERY STRING(Get): "+request.getQueryString()); 
     PrintWriter writer = response.getWriter(); 
     Gson json = new Gson(); 
     ArrayList<User> userList = UserService.GetUserList(getServletContext()); 
     try{ 
     JSONObject responseData = new JSONObject(); 
     JSONArray cellArray = new JSONArray(); 
     JSONArray cell = new JSONArray(); 
     JSONObject cellObject = new JSONObject(); 

     for(int i=0;i<userList.size();i++) 
     { 
      cellObject.put("id",i+1); 

      cell = new JSONArray(); 
      cell.add(userList.get(i).id); 
      cell.add(userList.get(i).username); 
      cell.add(userList.get(i).roleId); 

      cellObject.put("cell", cell); 
      cellArray.add(cellObject); 
     } 

     responseData.put("page", 1); 
     responseData.put("total", 1); 
     responseData.put("records ", userList.size()); 
     responseData.put("rows", cellObject); 
     String jsonReturn = json.toJson(responseData); 
     System.out.println(jsonReturn); 
     writer.print(jsonReturn); 
     } 
     catch(Exception e) 
     { 
      System.out.println(e); 
     } 
    } 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     System.out.println("##QUERY STRING: "+request.getParameterMap()); 
     PrintWriter writer = response.getWriter(); 
     Gson json = new Gson(); 
     ArrayList<User> userList = UserService.GetUserList(getServletContext()); 
     String jsonReturn = json.toJson(userList); 
     System.out.println(jsonReturn); 
     writer.print(jsonReturn); 
    } 
} 

錯誤:未找到不能創建一個新的JSONObject();我要去哪裏錯了

來源

連接不包含源文件ApplicationFilterChain.class

當它到達行的源代碼

JSONObject responseData = new JSONObject();

enter image description here

兩個Gson.jar和JSON-LIB-2.4-jdk15.jar在lib文件夾

回答

0

而不是

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 

嘗試

import com.google.gson.JsonObject; 
import com.google.gson.JsonArray; 
+0

但GSON的JSONArray只能添加一個Json元素 – 2012-03-15 05:53:53

+0

JsonElement是一個基本的抽象類。所以你可以使用它的實現:JsonArray,JsonNull,JsonObject和JsonPrimitive。 – 2012-03-15 06:44:16

+0

如何解決此行
cell = new JsonArray(); \t \t \t cell.add(userList.get(i).id); – 2012-03-15 09:30:14

相關問題