gpt4 book ai didi

java - java中如何从数据库中获取json对象

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

我尝试使用 jackson 获取 json 对象,但得到如下异常:

SEVERE: Servlet.service() for servlet [JsonProcessor] in context with path [/JJS2] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonGenerator.setCurrentValue(Ljava/lang/Object;)V

这是java代码:

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

JSONObject jsonResponse = new JSONObject();
List<Map<String, Object>> result = new ArrayList<>();// JDK7++

try {
JSONArray data = new JSONArray();
Connection con = OracleDBConnection.getConnection();
String query = "Select * from JJS";
Statement st = con.createStatement();
ResultSet rSet = st.executeQuery(query);

while (rSet.next()) {
Map<String, Object> row = new HashMap<>();
row.put("JSON_Diagram", rSet.getString("JSON_INFO"));
result.add(row);
}
} catch (Exception e) {
e.printStackTrace();
}

ObjectMapper mapper = new ObjectMapper();
try {
response.getWriter().write(mapper.writeValueAsString(result));
response.getWriter().flush();
} catch (Exception e) {
e.printStackTrace();
}
}

这是数据库中的 json 示例:

{"cells":
[{"type":"basic.Rect","position":{"x":-2,"y":33},
"size":{"width":71,"height":625},"angle":0,"isInteractive":false,
"id":"a55845b6-b753-42f0-b361-f0fcd3eaa611","z":1,
"attrs":{"rect":{"fill":"#EEEEEE","stroke":"#008B8B","stroke-width":2},
".":{"magnet":false}}}

数据库只有一列包含 json 数据。

最佳答案

jackson-core(流式传输、低级编码器/解码器)和 jackson-databind(对象映射)之间存在版本不兼容问题。您很可能拥有 2.6 的 jackson-databind,但有一些早期版本的 jackson-core。这些组件的次要版本必须匹配;或者至少 jackson-databind 次要版本不能高于 jackson-core 版本。

关于java - java中如何从数据库中获取json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31786572/

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