【发布时间】:2018-01-02 15:37:50
【问题描述】:
有什么方法可以将 JSON 对象转换为自定义对象而不使用 .NET core 1.0 中的序列化。由于我使用的是 .net framework 4.5 构建的 dll,并且其中定义的模型带有 [Serialize] 属性。因此,当我尝试将 JSON 字符串转换为对象时,我遇到了以下错误:
无法加载文件或程序集'System.Runtime.Serialization, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089'。 系统找不到指定的文件。
dll 内部是指其中的序列化类。 我用来转换为对象的代码sn-p
public void ConvertToObject(string jsonString)
{
return JsonConvert.DeserializeObject<CustomObject>(json);
//This line throws error
}
我认为问题只是因为[Serialize]属性,但我们没有控制修改提供的dll。而且我们只需要坚持使用 NET Core 1.0。我已经在 Core 2.0 和它的工作中尝试过它。
【问题讨论】:
-
将 JSON 字符串转换为对象的过程称为“序列化”,所以,不,没有序列化是没有办法的。如果您无权访问引用
[Serialize]的代码,那么如果您想坚持使用 .NET Core 1,则无法使用该代码。 -
从字符串表示到内存中程序对象的转换通常称为序列化。所以这个问题没有任何意义,真的。无论如何,尝试将 DLL 用于完全不同的 .NET 版本(Core 与经典框架)并不是一个好主意。
标签: c# .net json serialization asp.net-core-1.0