Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 273
Erik Escriche Avatar asked May 05 '17 21:05

Erik Escriche


3 Answers

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.

like image 57
Sundararaj Govindasamy Avatar answered Nov 08 '22 19:11

Sundararaj Govindasamy


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;
like image 11
Devendra Lattu Avatar answered Nov 08 '22 19:11

Devendra Lattu


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 enter image description hereit ; hope it helps guys

like image 3
Frank HN Avatar answered Nov 08 '22 18:11

Frank HN