webentwicklung-frage-antwort-db.com.de

Wie kann ich "org.json.simple.JSONObject kann nicht aufgelöst werden" lösen?

Wenn ich versuche, mein jsp über Tomcat zu öffnen, erhalte ich die folgenden Meldungen:

Der Typ org.json.simple.JSONObject kann nicht aufgelöst werden. Es wird indirekt auf erforderliche .class-Dateien verwiesen.

Die Methode getJSONObject () vom Typ Ejercicio bezieht sich auf den fehlenden Typ JSONObject.

Ich habe eine Java-Klasse, die so geht:

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

Mein jsp geht wie folgt:

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

Ich habe dem lib-Ordner in WEB-INF und der Tomcat-Bibliothek, die versucht, das Problem ohne Ergebnis zu lösen, viele Gläser hinzugefügt (commons-beanutils-1.8.1, commons-collection-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).

Beim Kompilieren der Java-Klasse erhielt ich die Meldung "Einige Eingabedateien verwenden ungeprüfte oder unsichere Operationen". Könnte dies damit zusammenhängen, dass die jps nicht kompiliert werden?

4
Erik Escriche

Erstens benötigen Sie den json-simple.jar nicht in Ihrem Projekt. 
.__ Entfernen Sie daher den import org.json.simple.*

Zweitens sollten Sie nur die erforderlichen Klassen aus Ihrem jar importieren. Daher können Sie import org.json.*; durch ersetzen 

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONString;
6
Devendra Lattu

Sie sind missingjson-simple-1.1.1.jar aus Ihrem Klassenpfad.

wenn Sie Maven verwenden, fügen Sie unten in Ihre pom.xml ein.

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

Oder können Sie es von hier herunterladen.

Befindet sich eine Version von json-simple.jar in Ihren Projektbibliotheken?

1
Suren Aznauryan

Sie können das erforderliche Glas herunterladen. Für mich funktionierte das Herunterladen meines fehlenden json20140107-Jar und das Hinzufügen der Import-Anweisungen wie folgt:

import org.json.JSONException;

import org.json.simple.JSONObject;

1

für mich definitiv das Glas heruntergelasert und zu Eclipse simple hinzugefügt

folgen Sie einfach diesen Schritten 1. Laden Sie die JAR-Datei unter diesem Link herunter https://jar-download.com/artifacts/org.json 2. Suchen und extrahieren Sie die Datei json.jar

in Eclipse - klicken Sie mit der rechten Maustaste auf Ihr Projekt, und wechseln Sie zum Build-Pfad - Hinzufügen externer JAR-Datei 

das ist  enter image description here es Ich hoffe es hilft Jungs

0
Frank HN

Dies funktioniert für das org.json-Paket:

Kopieren Sie die Quelldateien von hier aus

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

in den Ordner\src\org\json

Klicken Sie in Eclipse auf die Schaltfläche Perspektive öffnen und dann auf Ressource . enter image description here

Klicken Sie mit der rechten Maustaste auf org.json, und klicken Sie auf Aktualisieren, um den Java-Quellcode zum Projekt hinzuzufügen.

0
live-love