2 / 2 / 0
Регистрация: 01.11.2018
Сообщений: 169
1

Java FX and Gson

20.01.2024, 14:50. Показов 1761. Ответов 3

Author24 — интернет-сервис помощи студентам
Десериализация объектов из файла с помощью Gson, JavaFX.

Я хочу научиться парсить библиотеку и передавать полученные данные в JavaFX. Steck: JavaFX21 и Gson.

я не понимаю где ошибка. Я создал такойже проект но без JavaFX. Все работает.
с JavaFX не работает . Так в чем это разница понять не могу .....

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
public class FxController {
 
 
    @FXML
    private Label welcomeText;
 
    @FXML
    protected void onHelloButtonClick() {
        welcomeText.setText("Welcome to JavaFX Application!");
 
    }
 
    private final Gson gson = new Gson();
 
    public void initialize() {
        getParserFile();
    }
 
    public void getParserFile() {
        try {
            FileReader reader = new FileReader("library.json");
            var root = gson.fromJson(reader, Root.class);
            System.out.println(root);
      
 
            //   Gson gson = FxGson.coreBuilder().setPrettyPrinting().create();
            //   System.out.println(gson.toJson(reader));
 
        } catch (FileNotFoundException e) {
            System.out.println("Parser error " + e);
 
        }
    }
 
}
 
 
public class Root {
 
    private String message;
 
    private List<Book> library;
 
    public List<Book> getLibrary() {
        return library;
    }
 
    public String getMessage() {
        return message;
    }
 
    @Override
    public String toString() {
        return "Root{" +
                "library=" + library +
                '}';
    }
}
 
public class Book {
 
    private int id;
    private String photo;
    private String author;
    private String nameBook;
    private String description;
 
    public Book(int id, String photo, String author, String nameBook, String description) {
        this.id = id;
        this.photo = photo;
        this.author = author;
        this.nameBook = nameBook;
        this.description = description;
 
    }
 
    public int getId() {
        return id;
    }
 
    public String getPhoto() {
        return photo;
    }
 
    public String getAuthor() {
        return author;
    }
 
    public String getNameBook() {
        return nameBook;
    }
 
    public String getDescription() {
        return description;
    }
 
    @Override
    public String toString() {
        return "Library{" +
                "id=" + id +
                ", photo='" + photo + '\'' +
                ", author='" + author + '\'' +
                ", nameBook='" + nameBook + '\'' +
                ", description='" + description + '\'' +
                '}';
    }
}

ERROR:

Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccesso r.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at javafx.graphics@21/com.sun.javafx.ap...ncherImpl.java:464)
at javafx.graphics@21/com.sun.javafx.ap...ncherImpl.java:364)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccesso r.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1135)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics@21/com.sun.javafx.ap...ncherImpl.java:893)
at javafx.graphics@21/com.sun.javafx.ap...ncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: javafx.fxml.LoadException:
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2024, 14:50
Ответы с готовыми решениями:

Gson
Здравствуйте. Пишу курсач на java, параллельно изучаю её. Стал использовать Gson, но натолкнулся...

JSON парсинг, GSON
Здравствуйте. Покажите, пожалуйста, пример парсинга JSON при помощи библиотеки GSON на языке Kotlin.

Gson time parsing
Всем привет. Сервер возращает поле 'Time' создержанее время в формате HH:mm:ss, например,...

Задать кодировку в GSON
Имеется метод: public String getDefinitionJsonByTermId(int termId) { String json =...

3
504 / 157 / 49
Регистрация: 27.02.2016
Сообщений: 808
23.01.2024, 04:24 2
Цитата Сообщение от Vo_Va Посмотреть сообщение
Caused by: javafx.fxml.LoadException:
а дальше что написано ?
0
2 / 2 / 0
Регистрация: 01.11.2018
Сообщений: 169
23.01.2024, 13:12  [ТС] 3
Добрый день, но я завёл проект на java8 , вместо java 21. Где встроен модуль FX. Я долго не стал разбираться, что и как так как новичёк в этой теме.
Можешь попробовать сам создать проект, это дел то 15 минут и увидеть ошибку. Я уверен что она у тебя 100% появится.

Суть проекта брать с файла Json и парсить его и класть в объекты. (десериализация объектов.) По нажатию клавиши.
До нажатие клавиши не дошёл, просто запустил проект и вот такая история в виде исключений посыпалось. (Выложено было в теме сообщения выше).

Реально мне нужна помощь в этом проекте и я хочу разобраться с этим и именно в на java не меньше 17 версии.
0
504 / 157 / 49
Регистрация: 27.02.2016
Сообщений: 808
10.02.2024, 01:25 4
Цитата Сообщение от Vo_Va Посмотреть сообщение
Реально мне нужна помощь в этом проектe
то есть gson ни при чем а проблема с java 11 +

c джава 11 + ставьте эфикс дополнительно
0
10.02.2024, 01:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2024, 01:25
Помогаю со студенческими работами здесь

Добавить gson в netBeans
В project properties-&gt;libraries я добавил библиотеку, прописал ей classpath(D:\gson-master\gson)...

Retrofit и Gson ошибка
Подскажите, пожалуйста, в чем причина ошибки, не могу понять, что не так. Код тут:...

Конфликт между Gson
Здравствуйте! Появилась такая проблема: Есть две строки: Map&lt;String, ArrayList&lt;Integer&gt;&gt;...

Проблема с IllegalArgumentException в Gson
У меня есть приложение в плей маркете и после того как я добавил Gson в приложение у меня начали...

Gson и Appendable внутри
Здравствуйте! Использую для сериализации GSON, значит если просто так toJson сделать, то там...

Gson десериализация объекта в объекте
Всем привет, не могу сообразить как сделать... есть класс: public class Message { private...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru