如何从ajax中的jsp返回列表作为JSON对象?

时间:2014-09-24 09:39:59

标签: java ajax json jsp

这是我的jsp文件...

    <%@page import="java.util.*,java.util.List,java.util.ArrayList"%>
    <%@ page import="java.io.*,java.sql.*,java.text.*,pis.util.*"%>
    <%@ page  contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%>
    <%
        response.setContentType("application/json");
        String LedgerNo=request.getParameter("LedgerNo").trim();
        ResultSet rs = dm.getData("SELECT SaleNo , DisplayPrefix ,DisplayNo FROM sale 
           where CustomerName      like '"+ LedgerNo +"'");

        List<Map<String, Object>> menuList = new ArrayList<Map<String, Object>>();

       while (rs.next()) {
           System.out.println("SaleNo.."+rs.getInt(1));
           System.out.println("DisplayNo.."+rs.getString(2) +" "+ rs.getString(3));

           Map<String, Object> menuMap = new HashMap<String, Object>();
           menuMap.put("SaleNo",rs.getInt(1));
           menuMap.put("DisplayNo",rs.getString(3) );
           menuList.add(menuMap);

        } 

        System.out.println("menuList.."+menuList.toString());
        out.println(menuList);
        rs.close();
%>

我的名单是......

[{SaleNo=1, DisplayNo=K 1}, {SaleNo=2, DisplayNo=KC 1}]

我想将此列表作为JSON返回。 但是它会返回错误,我该如何实现呢?

1 个答案:

答案 0 :(得分:1)

您需要在字符串周围添加引号并使用冒号而不是等号。你不需要数字引号。

你的JSON应该是这样的......

[{"SaleNo":1, "DisplayNo":"K 1"}, {"SaleNo":2, "DisplayNo":"KC 1"}]