【问题标题】:No parameterless constructor defined for an imported object type to be deserialized from JSON没有为要从 JSON 反序列化的导入对象类型定义无参数构造函数
【发布时间】:2019-10-09 07:55:42
【问题描述】:
Dim result = New JavaScriptSerializer().Deserialize(Of SearchResult)(Request.Cookies.Get("user").Value)

System.Web.Extensions.dll 中出现“System.MissingMethodException”类型的异常,但未在用户代码中处理

附加信息:没有为“System.DirectoryServices.SearchResult”类型定义无参数构造函数。

我看到有很多关于这个问题的问题,但所需的对象类型是自定义类,因此解决方案是为该类创建一个新的无参数构造函数。

在我的例子中,我尝试使用命名空间System.DirectoryServices 中的SearchResult 作为要从JSON 字符串反序列化的对象类型。我该如何解决?

【问题讨论】:

标签: asp.net json vb.net javascriptserializer missingmethodexception


【解决方案1】:

您不能反序列化 SearchResult 对象,因为它没有公共构造函数。

理论上,您可以编写JavaScriptConverteruse reflection 来在转换器的Deserialize() 方法中实例化目标类的一个实例,但这将是最重要的。

要么序列化和反序列化你自己制作的自定义类,要么重新考虑你在做什么。

【讨论】:

    猜你喜欢
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多