Newtonsoft JSON双转换JSON字符串

时间:2013-09-02 22:03:09

标签: c# json string serialization json.net

我有以下内容:

class Data
{
  Foo foo;
  string s;
}

我需要将Data对象(我们称之为“d”)序列化为JSON字符串,我正在做类似的事情:

string jsonString = JsonConvert.SerializeObject(d); 

完美无缺。

Data中的字符串字段“s”是另一个JSON字符串,而不是纯字符串。当数据被序列化时,JSON字符串值“s”也会被序列化,从而导致双重转换。

如何对字符串字段进行注释,以便JSON序列化程序不再对其进行序列化?

2 个答案:

答案 0 :(得分:0)

你的问题不明确,所以我会猜测;您希望将Foo类序列化为{d:{fooooo}}

然后最好使用匿名类型

Foo foo = new Foo();
var json = JsonConvert.SerializeObject(new { d = foo });

无需Data课程。

答案 1 :(得分:0)

您可以使用“NonSerialized”属性标记字段“s”,这意味着您的字段“s”不会被序列化。