gpt4 book ai didi

c# - 为什么我的反序列化对象为空?

转载 作者:太空宇宙 更新时间:2023-11-03 21:09:08 25 4
gpt4 key购买 nike

我只是尝试使用 Serialization 属性将数据临时存储在字符串中。我测试了很多方法,那些函数是我可以使用的(因为在我的真实类中我有 ObjectId,所以很多序列化类都不起作用)。

然而,即使通过简单的测试它也不起作用,我的反序列化为空:

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;
}

结果是(调试器):

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

为什么?如何将带有键和值的对象(如 testb)转换为我的正确类型?

最佳答案

问题在于您进行类型转换的方式。

试试这个,它应该工作得很好

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

就这些吧。

关于c# - 为什么我的反序列化对象为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38885075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com