Serialization JsonConvert.DeserializeObject-处理空字符串

Serialization JsonConvert.DeserializeObject-处理空字符串,serialization,compact-framework,json.net,deserialization,Serialization,Compact Framework,Json.net,Deserialization,我正在使用Json.NET序列化要发送到compact framework 3.5设备的对象 我在compact设备上的课程是: public class Specification { public Guid Id { get; set; } public String Name { get; set; } public String Instructions { get; set; } } 返回并发送到设备的Json为(请注意,指令为null

我正在使用Json.NET序列化要发送到compact framework 3.5设备的对象

我在compact设备上的课程是:

public class Specification
{
        public Guid Id { get; set; }
        public String Name { get; set; }
        public String Instructions { get; set; }
}
返回并发送到设备的Json为(请注意,指令为null):

…用于反序列化json的方法是

var result = JsonConvert.DeserializeObject<Specification>(json);
问题是在compact框架上,它无法将值放入result.Instructions中,这会导致在代码后面引用时出现空引用

我使用的是Newtonsoft.Json.Compact v3.5.0.0(我认为这是最新版本),在服务器上我使用的是Newtonsoft.Json 4.5.0.0

问题

我怎样才能:

a) 将服务器代码更改为在字符串为null的位置粘贴“”而不是null值

b) 更改压缩框架代码,使其能够处理空值字符串

我尝试过的事情

我一直在浏览Json.Net的文档/示例,并尝试了许多方法,如实现
DefaultContractResolver
,以及定制
JsonContract
。也许答案就在这些方面,但我对Json.Net在这一层面的理解不足并没有帮助

进一步信息

我使用System.Runtime.Serialization.Json.DataContractJsonSerializer进行服务器端序列化,在出现空字符串时,它会生成引号。不幸的是,我需要更多的序列化灵活性,这就是我开始使用Json.Net的原因


任何提示/提示都非常感谢。

好的-没有答案,但昨天下午搜索了一个下午后,我就上床睡觉了,今天早上再次搜索以找到:,它几乎回答了我的问题

var result = JsonConvert.DeserializeObject<Specification>(json);
var serializer = new JsonSerializer();
serializer.Formatting = Formatting.None;
serializer.Serialize(context.HttpContext.Response.Output, this.Data);