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

Eri*_*che 5 java json jsp tomcat jar

当我尝试通过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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的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());
        }
    %>
Run Code Online (Sandbox Code Playgroud)

我在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没有编译有关吗?

Sun*_*amy 8

您的类路径中缺少 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>
Run Code Online (Sandbox Code Playgroud)

或者你可以从这里下载它.


Dev*_*ttu 7

首先,您不需要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;
Run Code Online (Sandbox Code Playgroud)


小智 5

对我来说,明确下载了 jar 并将其添加到 eclipse simple

只需按照以下步骤操作 1. 在此链接下载 .jar 文件https://jar-download.com/artifacts/org.json 2. 找到并解压 json.jar 文件

在 Eclipse 中 - 右键单击​​您的项目并转到构建路径 - 添加外部 jar - 点击应用

那是在此输入图像描述它 ; 希望对大家有帮助