2

我需要让JavaScriptSerializer忽略[ScriptIgnore]标签。我想我可以使用自定义JavaScriptConverter来做到这一点。但是,我不太确定。我需要做的就是忽略该属性,其余的可以通过基本定义来完成。您可以在此处查看代码JavaScriptSerializer

我担心实现自定义转换器(例如此示例)最终会无法正确序列化复杂的自定义对象图。

回顾微软的 JavaScriptSerializer 代码,上线252-253代码:

// Ignore all fields marked as [ScriptIgnore]
if (fieldInfo.IsDefined(typeof(ScriptIgnoreAttribute), true /*inherits*/)) 
 continue;

是我真正需要绕过的唯一部分。我只需要注释掉那行代码。不幸的是,这实际上是不可能的,所以我需要一些方法来忽略整个过程的那一部分。

我怎样才能忽略那行代码,或者以某种方式提供一个不忽略[ScriptIgnore]属性的自定义实现?

4

1 回答 1

1

我最终不得不模仿 JavaScriptSerializer 类并在模仿的类中提供一些自定义。不知道我会建议这样做,或者它是非常可读的。另一方面,它有效,我喜欢它。

于 2012-10-10T00:26:19.560 回答