web-dev-qa-db-fra.com

Comment puis-je résoudre "org.json.simple.JSONObject ne peut pas être résolu"?

Lorsque j'essaie d'ouvrir mon jsp via Tomcat, je reçois les messages suivants:

Le type org.json.simple.JSONObject ne peut pas être résolu. Il est indirectement référencé à partir des fichiers .class requis.

La méthode getJSONObject () du type Ejercicio fait référence au type manquant JSONObject.

J'ai une classe Java qui va comme ceci:

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

Mon jsp va comme suit:

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

J'ai ajouté de nombreux fichiers jar au dossier lib de WEB-INF et à la librairie Tomcat qui tentaient de résoudre le problème sans résultat (commons-beanutils-1.8.1, commons-collections-3.2.1, commons-lang-2.5). , commons-logging-1.1.1, ezmorph-1.0.6, javax.json-1.0, json-lib-2.4-jdk15, json-rpc-1.0, json-simple-1.1.1-sources, org .json).

Lors de la compilation de la classe Java, le message "Certains fichiers d'entrée utilisent des opérations non contrôlées ou non sécurisées". Cela pourrait-il être lié à la compilation de jps?

4
Erik Escriche

Tout d'abord, vous n'avez pas besoin du json-simple.jar dans votre projet. 
Par conséquent, supprimez le import org.json.simple.*

Deuxièmement, la meilleure pratique consiste à importer uniquement les classes requises à partir de votre fichier jar. Par conséquent, vous pouvez remplacer import org.json.*; par 

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

Vous êtes manquantjson-simple-1.1.1.jar dans votre chemin de classe.

si vous utilisez Maven, ajoutez ce qui suit dans votre pom.xml.

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

Ou vous pouvez le télécharger depuis ici .

Une version de json-simple.jar est-elle dans les bibliothèques de votre projet?

1
Suren Aznauryan

Vous pouvez télécharger le bocal requis. Pour moi, ce qui a fonctionné, c’est le téléchargement de mon bocal json manquant et l’ajout des instructions d’importation comme suit:

import org.json.JSONException;

import org.json.simple.JSONObject;

1
MD KOUNAIN SHAHI

pour moi, définitivement téléchargé le pot et l'ajouter à Eclipse simple

il suffit de suivre ces étapes 1. téléchargez le fichier .jar à ce lien https://jar-download.com/artifacts/org.json 2. localisez et extrayez le fichier json.jar

dans Eclipse - faites un clic droit sur votre projet et allez dans le chemin de construction - ajoutez un fichier .jar externe 

c'est  enter image description here il ; j'espère que ça aide les gars

0
Frank HN

Cela fonctionne pour le paquetage org.json:

Copiez les fichiers source à partir d'ici

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

dans le dossier\src\org\json

Dans Eclipse, cliquez sur le bouton Ouvrir une perspective, puis sur Ressource .  enter image description here

Cliquez avec le bouton droit sur org.json, puis sur Actualiser pour ajouter le code source Java au projet.

0
live-love