[C#] JSON.net Converter erzeugt leeren String

Larius

OutOfOrder
Teammitglied
Registriert
12 Juli 2013
Beiträge
3.831
Hi,

ich bin grad am Experimentieren ob das mit dem Erzeugen von JSON und versenden über einen Socket passt oder ob ich da auf irgendwelche Probleme stoße. Folgende Klassen verwende ich gerade:

[src=csharp]
public class Message
{
private int statusCode;
private String statusMessage {get; set;}
private MessageType messageType { get; set; }
private String username { get; set; }
//private User user { get; set; }

public Message() {
this.statusMessage = "Foo";
this.messageType = MessageType.AuthReq;
this.username = "Foobar";
//this.user = new User();
}

public String serializeToJSON(Message message) {
return JsonConvert.SerializeObject(message, Formatting.Indented);
}

public Message deserializeFromJSON(String json) {
return JsonConvert.DeserializeObject<Message>(json);
}

}
[/src]

[src=csharp]public enum MessageType
{
AuthReq,
AuthOK,
AuthFailed,
AlreadyExists,
UserCreated,
ChatMessage,
NewUser,
UserTimeout,
UserLeft,
};[/src]

[src=csharp]class Program
{
static void Main(string[] args)
{
Message message = new Message();
Console.WriteLine(JsonConvert.SerializeObject(message, Formatting.Indented));
Console.WriteLine(message.serializeToJSON(message));
}
}[/src]

BEIDE Varianten liefern mir einen leeren String zurück, egal ob ich ein Formatting setze oder nicht. Hat jemand schonmal mit der Library gearbeitet und kann mir n Stupser in die richtige Richtung geben? Weil eigentlich sollte das so wunderbar funktionieren (lt. Doku...).
 
Und wenn die properties public wären?
 
  • Thread Starter Thread Starter
  • #3
Dann geht es natürlich *beisst in die Tischkante* Ich hab da grad echt mal wieder die Sprachen vermischt weil ich davon ausgegangen bin das get/set dann public ist obwohl ich das Attribut als private deklariert habe.. Bah²

Thx für das Lösen vom Knoten.
 
Zurück
Oben