Serializing/Deserializing JSON 在 Dynamics CRM 2013/2015 插件中

Serializing/Deserializing JSON in Dynamics CRM 2013/2015 Plugin

我正在为 Dynamics 2015 开发一个插件。该插件需要一些设置信息,我认为在不安全配置中使用 json 对象是个好主意。此外,还有一个外部系统正在将一些 json 写入该插件响应的实体中的字段,我需要从中提取信息。

我尝试使用 JavascriptSerializer 对象反序列化 json 但我得到了 System.MethodAccessException,经过一些研究,我发现我无法在沙盒模式下使用 JavascriptSerializer .

我不想将 ILMerge Json.Net 插入到我的程序集中,那么有没有其他方法可以在我的插件代码中 serialize/deserialize json?

这就是我解决这个问题的方法

给出

 string wsData = string.Empty;
 plItem.GetType() == typeof(CategoryInfo);

 [DataContract]
 public class CategoryInfo{
    [DataMember]
    public string AllPropertiesToSerialize{ get; set; }
 }  

然后

using (var ms = new MemoryStream())
{
     var js = new DataContractJsonSerializer(typeof(CategoryInfo));
     js.WriteObject(ms, plItem);
     ms.Position = 0;
     var sr = new StreamReader(ms);
     wsData = sr.ReadToEnd();
}

感谢@dbc 和@Guido Preite 的指点