我有一个从包含空字符串的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 });
所有具有空字符串的列仍在删除。我该如何保留它们?
filteredRows也定义为List<List<string>>
。我可以将其序列化为已定义的对象吗?
答案 0 :(得分:0)
您能提供一个演示此问题的示例程序吗?像下面这样的简单示例似乎工作正常。序列化期间不会删除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"]]