Newtonsoft JSON双转换JSON字符串

本文关键字:JSON 字符串 转换 Newtonsoft | 更新日期: 2023-09-27 18:29:54

我有如下内容:

class Data
{
  Foo foo;
  string s;
}

我需要将Data对象(让我们称之为"d")序列化为JSON字符串,我正在做如下操作:

string jsonString = JsonConvert.SerializeObject(d); 

它非常好用。

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

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

Newtonsoft JSON双转换JSON字符串

你的问题不清楚,所以我来猜测一下;您希望将Foo类序列化为{d:{fooooo}}

然后如果你使用匿名类型会更好

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

不需要Data类。

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