tomcat 我如何解决“org.json.simpl.jSONObject无法解析”的问题?

sgtfey8w  于 2022-11-13  发布在  其他
关注(0)|答案(8)|浏览(189)

当我尝试通过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,试图解决这个问题,但没有任何结果(通用beanutils 1.8.1、通用集合3.2.1、通用语言2.5、通用日志1.1.1、ezmorph 1.0.6、java-json、javax.json 1.0、json-lib 2.4-jdk 15、json-rpc 1.0、json-simple 1.1.1-源代码、org.json)中创建。
当我编译java类的时候,我得到了“一些输入文件使用了未检查的或不安全的操作”的消息。这是否与jps没有编译有关?

eoxn13cs

eoxn13cs1#

您的类路径中缺少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>

或者您可以从here下载。

5lhxktic

5lhxktic2#

首先,您的项目中不需要json-simple.jar
因此删除import org.json.simple.*
其次,最好的做法是只从jar中导入所需的类。

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

2exbekwf3#

对我来说,我已经下载了这个jar,并将其添加到Eclipse Simple中
只需执行以下步骤1.在此链接https://jar-download.com/artifacts/org.json处下载.jar文件2.找到并解压缩json.jar文件
在Eclipse中-右键单击您项目并转到构建路径-添加外部jar -点击应用
就是x1c 0d1xit;希望这能帮助大家

z5btuh9x

z5btuh9x4#

您的项目库中是否有json-simple.jar的某个版本?

zvokhttg

zvokhttg5#

您可以下载必要的jar,对我来说,工作是下载我缺少的json 20140107 jar并添加导入语句,如下所示:

导入org.json.jsonException;
导入组织.json.简单.jSONObject;

u2nhd7ah

u2nhd7ah6#

我在任何地方都没有找到正确的答案,但是我的TomCat JSON库的问题是与工件部署有关的。
查看我的项目结构

t0ybt7op

t0ybt7op7#

这适用于org.json包:
从此处复制源文件
https://github.com/stleary/JSON-java
注意:这是从http://www.json.org/获取的源代码链接(JSON-java)
到\src\org\json目录
Eclipse中,单击“打开透视图”按钮,然后单击Resource. x1c 0d1x
右键单击org.json,然后单击Refresh,将java源代码添加到项目中。

pgvzfuti

pgvzfuti8#

我也遇到了同样的问题。我尝试在类路径中添加jar文件,但它对我不起作用。如果您使用的是Java gradle项目,那么您可以尝试在build.gradle中添加以下行:

implementation group: 'org.json', name: 'json', version: '20220320'
    
implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

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

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

相关问题