How can I solve “org.json.simple.JSONObject cannot be resolved”?

做~自己de王妃 提交于 2020-06-12 04:15:57

问题


When I try to open my jsp through Tomcat, I receive the following messages:

The type org.json.simple.JSONObject cannot be resolved. It is indirectly referenced from required .class files.

The method getJSONObject() from the type Ejercicio refers to the missing type JSONObject.

I have a java class that goes like this:

    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;
        }
    }

My jsp goes as follows:

    <%@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());
        }
    %>

I have added a lot of jars to both the lib folder inside WEB-INF and the Tomcat lib trying to solve the problem with no results (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).

When I compiled the java class I got the "Some input files use unchecked or unsafe operations" message. Could this be related to the jps not compiling?


回答1:


Firstly, you don't need the json-simple.jar in your project.
Therefore remove the import org.json.simple.*

Secondly, the best practice is to import only the required classes from your jar.Therefore you can replace import org.json.*; by

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



回答2:


You are missing json-simple-1.1.1.jar from your classpath.

if you are using Maven, add below into your pom.xml.

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

Or you can download it from here.




回答3:


for me definetely downloded the jar and add it to eclipse simple

just follow these steps 1. download the .jar file at this link https://jar-download.com/artifacts/org.json 2. locate and extract the json.jar file

in eclipse -right click on your project and go to build path -add external jar -hit apply

that's it ; hope it helps guys




回答4:


Is some version of json-simple.jar in your project libs ?




回答5:


You can download the requisite jar, for me what worked is the downloading of my missing json20140107 jar and adding the import statements as below:

import org.json.JSONException;

import org.json.simple.JSONObject;




回答6:


I didn't see the right answer anywhere but my TomCat JSON library problem was with the artifact deployment. If you're using intelliJ, go to project structure >> artifacts and add the jar to your lib folder

Check out my project structure




回答7:


This works for the org.json package:

Copy the source files from here

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

Note: this is the source code link (JSON-java) taken from from http://www.json.org/

into \src\org\json folder

In Eclipse, click the Open perspective button, then Resource.

Right click on org.json and then hit Refresh to add the java source code into the project.



来源:https://stackoverflow.com/questions/43813670/how-can-i-solve-org-json-simple-jsonobject-cannot-be-resolved

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!