我怎么解决“org.json.simple.JSONObject无法解决”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1619)

当我尝试通过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没有编译有关吗?

提问于
用户回答回答于

首先,您不需要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;
用户回答回答于

这适用于org.json包:

从此处复制源文件

https://github.com/stleary/JSON-java

进入\ src \ org \ json文件夹

在Eclipse中,单击Open perspective按钮,然后单击Resource。

右键单击org.json,然后单击Refresh将java源代码添加到项目中。

扫码关注云+社区

领取腾讯云代金券