当前位置: 首页 > 面试题库 >

如何在JsonConvert.DeserializeObject中处理null / empty值

东郭良弼
2023-03-14
问题内容

我有以下代码:

return (DataTable)JsonConvert.DeserializeObject(_data, (typeof(DataTable)));

然后,我尝试:

var jsonSettings = new JsonSerializerSettings
{
    NullValueHandling = NullValueHandling.Ignore
};

return (DataTable)JsonConvert.DeserializeObject<DataTable>(_data, jsonSettings);

返回行抛出错误:

{“将值\“ \”转换为类型’System.Double’时出错。“}

在线上有许多解决方案建议Class使用空值类型创建自定义,但这对我不起作用。我不能指望json是某种格式。我无法控制列数,列类型或列名。


问题答案:

您可以提供设置来JsonConvert.DeserializeObject告诉它如何处理空值(在这种情况下,还有更多):

var settings = new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore,
                        MissingMemberHandling = MissingMemberHandling.Ignore
                    };
var jsonModel = JsonConvert.DeserializeObject<Customer>(jsonString, settings);


 类似资料:
  • 问题内容: 我有一些类型为int的列,但值是空的。因此,当我插入数据库时​​,我想将empty转换为null。我使用代码: 但显示错误: 为什么? 问题答案: 有NULLIF()功能: 如果var保持$ 2中的值,则NULL取而代之。 在这个例子中我替换空字符串:’‘有NULL。 有该类型的整数无空字符串。只是不可能。由于NULLIF()无法切换数据类型,因此必须清理PHP中的输入。 如果您没有定

  • 问题内容: 这是我用于通过DataReader从sql读取数据的代码。当表中有NULL时,它将给出错误。怎么处理呢? 我试过了 问题是它可以成功处理NULL,但是即使sql数据库在该字段中的值为1,结果也始终为0。 问题答案: 您可以用来从数据读取器中检查空值。C#和有所不同。

  • 问题内容: 我有一个关于PHP 的问题: 为什么当一个空字符串 为空 时会看到 为空 ?那是个错误吗? 问题答案: 您正在寻找的是: 注意。 当使用use 时,PHP会将 NULL , false , 0 , 空 字符串和 空 数组视为相等。

  • 我正在研究从数据库中获取数据并构建协议buff消息的东西。鉴于某些字段可以从数据库中获取空值的可能性,我将在尝试构建协议buff消息时获得空指针异常。了解到线程http://code.google.com/p/protobuf/issues/detail?id=57的原型不支持null,我想知道处理NPE被抛出的唯一方法是否是将手动检查插入到与原型对应的java文件中,如下所示! 那么,有人能澄清

  • 我有一个spring-boot-starter-data-cassandra版本为2.1.2.release的Spring Boot应用程序。需要理解spring data Cassandra在执行insert选项时如何在实体中内部处理null。使用方法持久化这些实体。在某些情况下,这些实体的少数字段可能为空。这种方法是否会影响Cassandra的性能或墓碑可能在Cassandra中创建。或者请建

  • 问题内容: 我在sql server中创建了一个示例查询,以解析xml中的数据并立即显示。尽管我将在表中插入此数据,但是在此之前,我面临一个简单的问题。 我想在datetime字段中插入NULL,如下面给出的xml所示。但是当我执行这个查询时。它给我错误 从字符串转换日期时间时转换失败。 我在做什么错。请强调我的错误。 我正在使用Sql Server 2005。 问题答案: 经过一个小时的搜寻,我