在不使用.NET Core中的序列化的情况下将JSON对象转换为Object

问题描述 投票:1回答:1

有没有办法在不使用.NET核心1.0中的序列化的情况下将JSON对象转换为Custom对象。因为我正在使用.net framework 4.5构建的dll,并且在其中定义的模型具有[Serialize]属性。所以当我尝试将JSON字符串转换为对象时,我面临以下错误:

无法加载文件或程序集'System.Runtime.Serialization,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。该系统找不到指定的文件。

dll内部指的是其中的Serialization类。我用来转换为对象的代码片段

public void ConvertToObject(string jsonString)
{
   return JsonConvert.DeserializeObject<CustomObject>(json);
   //This line throws error
}

我认为问题只是因为[Serialize]属性,但我们没有控制来修改提供的dll。而且我们只需要坚持使用.NET Core 1.0。我在Core 2.0及其工作中尝试过它。

c# .net json serialization asp.net-core-1.0
1个回答
2
投票

在.Net Core项目中加载引用的dll有一个混乱(不确定它是否在Core 2.0中修复)。尝试为正在运行的最顶级项目添加对System.Runtime.Serialization dll的引用。例如。你有以下结构:

(a)Web应用程序(ASP.Net Core)==>(b).Net Core DLL ==>(c).Net 4.5 dll其中(c)是带有Seri​​alize属性的dll

为(a)添加对System.Runtime.Serialization的引用注意:为(b)添加该引用也可能有所帮助,但是如果您有更深层次的解决方案结构并且有其他项目引用(b),它可能会再次中断,所以top项目是你的选择

© www.soinside.com 2019 - 2024. All rights reserved.