Json.NET无法正确序列化带有空格的字符串

时间:2014-08-19 06:17:28

标签: c#-4.0 json.net

我的方法以

结尾
return JsonConvert.SerializeObject(MyValue);

假设 MyValue 是“值”,结果是

[{"Data1":"value"}]

这是预期的输出。但是,如果 MyValue 是“要序列化的值”,则结果为

  

[{“Data1”:“value”to =“”be =“”serialized“}]

我尝试了其他类型并且它们工作正常,除非要序列化的值是包含空格的字符串,结果是不同的。我想我错过了很简单的事情......

1 个答案:

答案 0 :(得分:0)

class NewClass
{
    public NewClass() { }
    [JsonProperty(PropertyName = "Data1")]
    public string MyProperty { get; set; }
}


List<NewClass> lst= new List<NewClass>() { new NewClass(){MyProperty = "value to be serialized"} };

return JsonConvert.SerializeObject(lst);

这很好用。

说明:MyValue是键值对的列表,如[{&#34; Data1&#34;:&#34; value&#34;}]。 NewClass类的属性名为&#34; Data1&#34;和价值&#34;要序列化的价值&#34;。 JsonConvert.SerializeObject将按预期返回[{&#34; Data1&#34;:&#34;值为序列化&#34;}]。