如何解决“无法解析 org.json.simple.JSONObject”?

新手上路,请多包涵

当我尝试通过 Tomcat 打开我的 jsp 时,我收到以下消息:

无法解析类型 org.json.simple.JSONObject。它是从所需的 .class 文件中间接引用的。

Ejercicio 类型中的 getJSONObject() 方法引用了缺失的 JSONObject 类型。

我有一个像这样的 java 类:

     package E;
    import org.json.simple.*;
    import javax.json.*;
    import org.json.*;

    public class Ejercicio {
        public int a;
        public String b;

    public Ejercicio (int a, String b) {
        this.a=a;
        this.b=b;
        }

    public JSONObject getJSONObject() {
        JSONObject obj = new JSONObject();
        obj.put("a", a);
        obj.put("b", b);
        return obj;
        }
    }

我的jsp如下:

     <%@page import="java.io.*" %>
    <%@page import="java.util.*"%>
    <%@page import="E.Ejercicio"%>
    <%@page import="javax.json.*"%>
    <%@page import="org.json.simple.*"%>
    <%@page import="org.json.*"%>
    <%@page import="net.sf.json.*" %>

    <%
    ArrayList<Ejercicio> miArray = new ArrayList<Ejercicio>();
    miArray.add(new Ejercicio (1,"Hola"));
    miArray.add(new Ejercicio (2,"Caracola"));
    miArray.add(new Ejercicio (3,"Perola"));
    for (Ejercicio temp:miArray) {
        out.println("<p>"+temp.b+"</p>");
        }

    JSONArray jsonArray = new JSONArray();
    for (int i=0; i < miArray.size(); i++) {
        jsonArray.put(miArray.get(i).getJSONObject());
        }
    %>

我在 WEB-INF 中的 lib 文件夹和 Tomcat lib 中添加了很多 jar 试图解决没有结果的问题(commons-beanutils-1.8.1,commons-collections-3.2.1,commons-lang-2.5 , commons-logging-1.1.1, ezmorph-1.0.6, java-json, javax.json-1.0, json-lib-2.4-jdk15, json-rpc-1.0, json-simple-1.1.1-sources, org .json)。

当我编译 java 类时,我收到“一些输入文件使用未经检查或不安全的操作”消息。这可能与jps没有编译有关吗?

原文由 Erik Escriche 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

首先,您的项目中不需要 json-simple.jar

因此删除 import org.json.simple.*

其次,最佳做法是仅从您的 jar 中导入所需的类。因此您可以将 import org.json.*; 替换为

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONString;

原文由 Devendra Lattu 发布,翻译遵循 CC BY-SA 3.0 许可协议

您的类路径中 缺少 json-simple-1.1.1.jar

如果您使用的是 Maven ,请将以下内容添加到您的 pom.xml 中。

 <dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

或者 您可以从 此处 下载。

原文由 Sundararaj Govindasamy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏