当我尝试通过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-来源,org.json)。
当我编译java类时,我得到了&#34;某些输入文件使用未经检查或不安全的操作&#34;信息。这可能与jps没有编译有关吗?
答案 0 :(得分:7)
您从类路径中缺少 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下载。
答案 1 :(得分: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;
答案 2 :(得分:1)
项目库中有json-simple.jar
的某个版本吗?
答案 3 :(得分:1)
您可以下载必需的jar,对我来说,有效的方法是下载缺少的json20140107 jar并添加如下的import语句:
导入org.json.JSONException;
导入org.json.simple.JSONObject;
答案 4 :(得分:1)
对我来说,将罐子降下并简单地添加到月食中
只需执行以下步骤 1.通过此链接https://jar-download.com/artifacts/org.json下载.jar文件 2.找到并提取json.jar文件
日食 -右键单击您的项目,然后建立路径 -添加外部罐子 -hit
答案 5 :(得分:0)
这适用于org.json包:
从此处复制源文件
https://github.com/stleary/JSON-java
放入\ src \ org \ json文件夹
在Eclipse中,单击“打开”透视图按钮,然后单击“资源”。
右键单击org.json,然后单击“刷新”以将Java源代码添加到项目中。
答案 6 :(得分:0)