Wie kann ich MessagePack von JSON (über Python) mit einer DateTime -Eigenschaft deserialisieren?Python

Python-Programme
Anonymous
 Wie kann ich MessagePack von JSON (über Python) mit einer DateTime -Eigenschaft deserialisieren?

Post by Anonymous »

Ich versuche, eine MessagePack -Nachricht zu deserialisieren, die von einem Python -Client zu einem .NET -Objekt generiert wurde. In Schwierigkeiten mit DateTimes eingehen. Interessanterweise funktioniert es auch nicht. < /p>

Newtonsoft kann den JSON korrekt deserialisieren. Obwohl MessagePack's Tojson gültige JSON zurückgibt, schlägt die Deserialisierung des Objekts fehl. < /P>

Code: Select all

[DataContract]
public class TestClass
{
[DataMember]
public string TestPropertyA { get; set; }
[DataMember]
public string TestPropertyB { get; set; }
[DataMember]

public DateTime EventTimeStamp { get; set; }
}

//Move from Json string to an object
String jsonStringFromPython = "{\"TestPropertyA\":\"Hello\",\"TestPropertyB\":\"World\",\"EventTimeStamp\":\"2019-05-02T16:04:30.7812850Z\"}";
TestClass anObject = JsonConvert.DeserializeObject(jsonStringFromPython);

//Generate byte arrays for Messagepack
Byte[] arrFromAString = MessagePackSerializer.FromJson(jsonStringFromPython);
Byte[] arrFromAnObj = MessagePackSerializer.Serialize(anObject);
CompositeResolver.RegisterAndSetAsDefault(PrimitiveObjectResolver.Instance, ContractlessStandardResolver.Instance);

//Message pack understands the object-generated byte array
var backtoobject = MessagePackSerializer.Deserialize(arrFromAnObj);

//Message pack DOES NOT UNDERSTAND the string-generated byte array and fails with code is invalid. code:188 format:fixstr'
var backtoobject2 = MessagePackSerializer.Deserialize(arrFromAString);
Die letzte Codezeile oben fällt fehl, aber alle funktionieren einwandfrei, wenn ich die DateTime -Eigenschaft aus dem String/Objekt fallen lasse.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post