Cher Cher - 3 months ago 21
C# Question

Why is my deserialized object null?

I'm simply trying to use

Serialization
properties to temporary store datas in a string. I tested many method and those functions are the ones I could use (since in my real classes I have ObjectId, a lot of serialization classes don't work).

However, even with a simple test it doesn't work, my deserialization is null:

public class MyClass
{
public string test = "bob";
}

static public void function()
{
MyClass test = new MyClass();

string data = Newtonsoft.Json.JsonConvert.SerializeObject(test);
object testb = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
MyClass testa = Newtonsoft.Json.JsonConvert.DeserializeObject(data) as MyClass;
}


Results are (
debugger
):

datab : { "test": "bob"}
testa is null.


Why? How can I convert an object like testb with keys and value to my correct type?

Answer

Problem is the way you are type casting.

Try out this one and it should work just fine

MyClass testa = Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>(data);

That shall be all.

Comments