java.lang.Ошибка noSuchMethod: org.json.JSONObject.entrySet()Ljava/util/Set

#java #json #xml #org.json

#java #json #xml #org.json

Вопрос:

Я должен был преобразовать строку JSON в XML. Как было предложено в одном ответе StackOverflow, я использовал метод XML.toString .

         String json_data = "{"student":{"name":"Neeraj Mishra", "age":"22"}}";
    JSONObject obj = new JSONObject(json_data);

    //converting json to xml
    String xml_data = XML.toString(obj);

    System.out.println(xml_data);
  

Приведенный выше метод отлично работает для последней версии org.json, но в моем проекте используется версия org.json 20080701, и при этом методе XML.toString(obj) выдает следующую ошибку;

 Exception in thread "main" java.lang.NoSuchMethodError: 
org.json.JSONObject.entrySet()Ljava/util/Set;
at org.json.XML.toString(XML.java:502)
at org.json.XML.toString(XML.java:471)
at com.testing.main(testing.java:13) 
  

И я не могу обновить версию.

Комментарии:

1. Но вы не используете entrySet в своем коде, пожалуйста, опубликуйте полную трассировку стека, чтобы мы могли видеть, что вызывает исключение.

2. Исключение в потоке «main» java.lang. Ошибка noSuchMethod: org.json.JSONObject.entrySet()Ljava/util/Set; в org.json.XML.toString(XML.java:502) в org.json.XML.toString(XML.java:471) в com.yodlee.aim.autoconfig.services.testing.main(testing.java:500) Это трассировка стека

3. Вместо этого добавьте это к вопросу, отредактировав его, а также укажите, какая строка находится в вашем коде, поскольку мы не знаем номеров строк

4. обновлено @JoakimDanielson

Ответ №1:

Вы можете использовать более старую версию org.json, например «20160212»