GSON nicht konvertieren Objekt: leeres JSON, obwohl das Objekt Attribute festgelegt hatJava

Java-Forum
Anonymous
 GSON nicht konvertieren Objekt: leeres JSON, obwohl das Objekt Attribute festgelegt hat

Post by Anonymous »

Ich versuche, das GSON -Paket von Google in meinem Java -Code zu verwenden. Dabei erstelle ich eine einfache Anwendung, in der ich einen Chat -Kurs und eine Nachrichtenklasse habe. Obwohl ich die Klassenattribute zu einer neuen Instanz der Klasse hinzugefügt habe, konvertiert GSON die Klasse nicht in JSON.

Code: Select all

public static void createChat(String chatname, String creatorUsername, String chatMessage) throws SQLException {
// create a database connection
Connection connection = DriverManager.getConnection("jdbc:sqlite:chatdata.db");
PreparedStatement statement = connection.prepareStatement("INSERT INTO chatdata (name, data) VALUES (?, ?);");

statement.setQueryTimeout(30);  // set timeout to 30 sec.

Chat newChat = new Chat();
newChat.name = chatname;
Message firstMsg = new Message();
firstMsg.poster = creatorUsername;
firstMsg.messageContent = chatMessage;

newChat.allMessages.add(firstMsg);

newChat.members.add(creatorUsername);

// Create DB if not exists
createDbIfNotExists("chatdata");

// Convert class to json using gson
String chatJson = gson.toJson(newChat);

print(newChat.name);
print(chatJson);

statement.setString(1, chatname);
statement.setString(2, chatJson);
statement.executeUpdate();
}
Wie Sie sehen können, versuche ich, das NewChat -Objekt in einen JSON-String umzuwandeln.

Code: Select all

public class Chat {
public static String name;
public static ArrayList allMessages = new ArrayList();
public static ArrayList members = new ArrayList();
}

class Message {
public static String poster;
public static String messageContent;
}
Beim Drucken des JSON ist die Ausgabe lediglich {} , während NewChat.Name den Namen wie früher in der Methode festgelegt wird.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post