>我有一个从包含空字符串的 Web 服务返回的对象。该对象称为Docs
对象,对象Docs.Rows
是一个List<List<string>>
,然后在下面的代码中用作filteredRows
。当我使用 JsonConvert.SerializeObject
时,它会删除每个具有空字符串的列。这些列很重要。
我尝试了以下两种方法:
JsonConvert.SerializeObject(filteredRows,
Formatting.Indented,
new JsonSerializerSettings { });
JsonConvert.SerializeObject(filteredRows,
Formatting.Indented,
new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include });
所有具有空字符串的列仍在删除。如何让它保留它们?
过滤的行也定义为 List<List<string>>
。我可以将其序列化为定义的对象吗?
你能提供一个演示问题的示例程序吗? 像下面这样的简单示例似乎工作正常。 序列化期间不会删除 null 字符串和空字符串。 可能是您的过滤过程实际上删除了这些值吗?
class Program
{
static void Main(string[] args)
{
List<List<string>> rows = new List<List<string>>
{
new List<string>
{
"A",
null,
""
},
new List<string>
{
null,
"B",
""
},
new List<string>
{
"",
null,
"C"
}
};
string json = JsonConvert.SerializeObject(rows);
Console.WriteLine(json);
}
}
输出:
[["A",null,""],[null,"B",""],["",null,"C"]]