gpt4 book ai didi

java - 将 ArrayList 转换为 json 对象

转载 作者:行者123 更新时间:2023-12-01 11:19:19 25 4
gpt4 key购买 nike

我在数据库中有一个表testemployee,其中包含三列eid,ename,esalary。我想在json对象中显示表的所有行(稍后我想使用 kendo UI 网格给 json obj 一个 html View )我使用 arraylist 来存储所有数据行,然后将列表转换为 json。但是当我运行该文件时,它显示 HTTP 状态 405 - HTTP 方法 GET 不受支持这个网址
下面是我的代码

  package com.JSONoflist;

import com.google.gson.Gson;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;

import java.sql.ResultSet;
import java.sql.SQLException;

import java.sql.Statement;

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 java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;

@WebServlet(urlPatterns = {"/list2json"})

public class list2json extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

Statement stmt = null;

ResultSet rs = null;
dbconn Obj = new dbconn();
Connection connection = Obj.Open();
try {

String qry = "SELECT * FROM testemployee";
stmt = connection.createStatement();
rs = stmt.executeQuery(qry);

JSONObject jObj = new JSONObject();
ArrayList<Employee> list = new ArrayList<Employee>();
Employee sPojo = null;
while (rs.next()) {
sPojo = new Employee();
sPojo.setId(rs.getString("eid"));
sPojo.setEname(rs.getString("ename"));
sPojo.setSalary(rs.getString("esalary"));
list.add(sPojo);
}
// String json = new Gson().toJson(list);
System.out.println(list);
jObj.put("testemployee", list);
System.out.println(jObj.toString());
} catch (Exception ex) {
ex.printStackTrace();
}
}

}

我也尝试过在 Arraylist 中使用静态值,但出现 http 错误。我是否遗漏了什么?请帮助我。由于这个错误,我什至无法检查 json 是否在 url 中显示数据库值。

@WebServlet(urlPatterns = {"/list2json"})
public class list2json extends HttpServlet
{

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

try {
List<String> foo = new ArrayList<String>();
foo.add("A");
foo.add("B");
foo.add("C");

String json = new Gson().toJson(foo);

} catch (Exception ex) {
ex.printStackTrace();
}
}

}

最佳答案

只需将您的 servlet 代码重写为

@WebServlet(urlPatterns = {"/list2json"})
public class list2json extends HttpServlet
{

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

try {
List<String> foo = new ArrayList<String>();
foo.add("A");
foo.add("B");
foo.add("C");

String json = new Gson().toJson(foo);

} catch (Exception ex) {
ex.printStackTrace();
}
}

关于java - 将 ArrayList 转换为 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31447025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com