Newtonsoft.Json.JsonReaderException:无法将字符串转换为日期时间:

2024-04-07

我正在尝试将一些数据插入本地数据库。我收到错误:

{Newtonsoft.Json.JsonReaderException:无法将字符串转换为日期时间:20-09-1982 12:00:00。路径“[0].BIRTHDAY”,第 1 行,位置 71。

这是我的代码:

var insertdata = new ClientIndividualTable
{
     COID = item.COID,
     CLIENTID = item.CLIENTID,
     BIRTHDAY = Convert.ToDateTime(item.BIRTHDAY)
};

await DefaultSettings.conn.InsertOrReplaceAsync(insertdata);

我也尝试过仍然出现错误:

DateTime.Parse(item.BIRTHDAY)

将来我该如何解决并避免这种情况?


看起来你的错误是not在以以下开头的行中var insertdata = new ClientIndividualTable但之前的一些行。

您的错误可能会出现与此类似的行。

MyJsonClass item = JsonConvert.DeserializeObject<MyJsonClass>(fileText);

您必须创建一个日期时间转换器,以便 Newtonsoft 知道如何处理所使用的自定义格式。之后,您必须装饰用于向 DateTime 属性添加属性的类。

JSON 文件示例:

{
    "COID" : "myCompanyId",
    "CLIENTID" : "myClientId",
    "BIRTHDAY" : "20-09-1982 12:00:00",
}

与JSON结构匹配的类:

public class MyJsonClass
{
    public string COID { get; set; }
    public string CLIENTID { get; set; }
    [JsonConverter(typeof(CustomDateTimeConverter))]
    public DateTime? BIRTHDAY { get; set; }
}

And the JsonConverter会与此类似。

public class CustomDateTimeConverter : DateTimeConverterBase
{
    private const string Format = "dd-MM-yyyy HH:mm:ss";

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        writer.WriteValue(((DateTime)value).ToString(Format));
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        if (reader.Value == null)
        {
            return null;
        }

        var s = reader.Value.ToString();
        DateTime result;
        if (DateTime.TryParseExact(s, Format, CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
        {
            return result;
        }

        return null;
    }
}

注意:我的答案是基于此博客文章 https://blog.kulman.sk/custom-datetime-deserialization-with-json-net/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Newtonsoft.Json.JsonReaderException:无法将字符串转换为日期时间: 的相关文章

  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

    我想在应用程序启动时加载欢迎屏幕 然后用户单击欢迎屏幕上的按钮 然后关闭欢迎屏幕 最后显示主屏幕 static void Main startup method being called Application EnableVisualSt
  • C++ 中 void(*)() 和 void(&)() 之间的区别[重复]

    这个问题在这里已经有答案了 在此示例代码中 func1是类型void int double and funky是类型void int double include
  • 结构化绑定的用例有哪些?

    C 17 标准引入了新的结构化绑定 http en cppreference com w cpp language structured binding功能 最初是proposed http www open std org jtc1 sc

随机推荐

  • 使用 sf 列调整 Leaflet (R) 中的边界

    我正在 Shiny 中制作一个小应用程序 它保存国家和地区的数据 用户可以在其中选择一个区域 然后的想法是 我在应用程序中拥有的传单地图将放大并聚焦于所选区域 即用户单击 欧洲 地图会放大到欧洲 我不知道应该如何使用这些简单的功能geome
  • 如何在 Windows Azure Active Directory 身份验证后获取访问令牌

    我们已经使用 url 中给出的流程成功实现了活动目录身份验证http msdn microsoft com en us library windowsazure dn151790 aspx http msdn microsoft com e
  • ruby - 简化字符串乘法连接

    s 是一个字符串 这看起来很冗长 我怎样才能简化它 if x 2 z s elsif x 3 z s s elsif x 4 z s s s elsif x 5 z s s s s elsif x 6 z s s s s s Thanks
  • Ubuntu - 如何判断CPU应用程序当前是否正在使用AVX或SSE?

    我目前在许多具有 GPU 的服务器上运行 BOINC 服务器运行 GPU 和 CPU BOINC 应用程序 由于 AVX 和 SSE 在 CPU 应用程序中使用时会降低 CPU 频率 因此我必须选择一起运行哪个 CPU GPU 因为某些 G
  • 上传失败:超出配额:您的表超出了每个表的导入或查询附加配额。了解更多信息

    我正在尝试将旧的备份数据上传到 bigquery 表 它有时会失败并出现以下错误 不清楚超出了哪个配额 我们如何找到它或解决此错误 errorResult message Quota exceeded Your table exceeded
  • 散点图标记大小与轴值成正比 - 为什么对于方面=“等于”,x 轴和 y 轴的像素数不同?

    据我所知 我的问题与这个帖子 https stackoverflow com questions 16896244 matplotlib scatter plot symbol size based on pixel distance 我需
  • 熊猫在我的数据中第一天重新采样

    我在 pandas 数据框中导入了雅虎财经每日股票价格 我想用 resample 通过获取每个月第一个每日报价的价格将其转换为每月股票价格 resample MS how first 返回每个月的正确价格but它将指数更改为每月的第一天 而
  • 蓝牙低功耗广告扫描、频道信息或选择

    我使用 bluez 编写了一个应用程序 用于扫描 BLE 广告数据 该应用程序当前接收广告消息没有任何问题 对于广告消息 BLE 使用 37 38 和 39 三个通道发送消息 每个通道使用不同的频率 当应用程序接收数据时 我希望能够确定在哪
  • 如何在自定义视图中使用行重修改器?

    我正在尝试通过按钮制作屏幕键盘 并尝试使用按钮功能来执行此操作有点烦人 因为我无法设置这样的权重 Composable fun MyKeyboardButton text String Button onClick TODO modifie
  • Ajax 调用未以字符串形式返回正确的结果

    我的ajax调用 我没有得到所需的字符串响应 任何人都可以在这方面帮助我 提前致谢 function Function1 alert In Ajax Call ajax type POST url abc aspx MyFunction1
  • 以编程方式滚动 UIScrollView

    我有一个UIScrollView其中有几个观点 当用户轻弹手指时 视图会根据手指轻弹的方向向右或向左滚动 基本上我的代码的工作方式与 iPhone 照片应用程序类似 现在 有没有一种方法可以让我以编程方式执行相同的操作 以便我最终得到一个通
  • 比较两个列表<>

    我有 gridview 控件 上面有一个复选框 当我点击 保存 按钮时 我能够找到已选中的复选框 并且到目前为止我能够做得很好 但问题是 假设用户尝试取消选中复选框 那么我将如何跟踪更改并将其保存到已选中的数据库中 有什么帮助吗 所以在这方
  • mpegts 中的 pts 和 pcr 值有限制吗?

    据我所知 PCR 存储在 mpegts 容器中的 42 位中 PTS 存储在 33 位中 So Max value for PCR is 2 42 4398046511104 Max value for PTS is 2 33 858993
  • [Firebase Messaging]:应用程序在后台时未调用后台消息处理程序方法?

    我正在开发一个使用 FCM 推送通知的应用程序 当应用程序在后台或终止并接收新通知时 我需要将此通知的数据保存在本地 SQLITE 中 而无需单击通知或再次重新打开应用程序 除非单击 否则不会在应用程序中读取通知 有什么建议么 这是我的No
  • 如何将阴影置信区间添加到具有指定值的线图中

    我有一个汇总数据的小表 其中包含四个类别的比值比 置信上限和下限 每个类别内有六个级别 我想使用 ggplot2 生成一个图表 它看起来与指定 lm 时创建的通常图表类似 它是 se 但我希望 R 仅使用表中预先指定的值 我已经成功创建了带
  • iOS 7 以编程方式按应用程序 VPN

    我正在开发一个 iOS 7 应用程序 我想知道 每应用程序 VPN 功能是否是 手动 激活的 如位置服务 您可以选择哪个应用程序可以或不可以 或者我可以设置它通过应用程序内的代码 环顾网络 我发现有关它的信息很少 苹果的公告也没有明确说明
  • 为什么某些 API 提供商需要 API 密钥?

    多个 Web 服务 API 需要您注册 API 密钥 例如 UPS Web 服务需要一个密钥 该密钥包含在对其服务的调用中 除了用户名和密码 提供商使用此密钥做什么 也许 UPS 是唯一一家同时需要 API 密钥和用户名 密码的公司 一个想
  • 匹配字符的第一个唯一实例[重复]

    这个问题在这里已经有答案了 我正在尝试匹配only字符串中字符的第一个实例 例如sdtmig 3 1 2 with XPath 替换 https www w3 org TR xpath functions func replace并将其替换
  • GWT 计时器取消不起作用

    我正在尝试编写代码来使用 GET 和 GETQuery 区分单击和双击 我明白了here http jsfiddle net KpCwN 4 所以我将它翻译成 GWT 如下所示 我的应用程序不能有全局变量 所以我用元素属性来完成该部分 im
  • Newtonsoft.Json.JsonReaderException:无法将字符串转换为日期时间:

    我正在尝试将一些数据插入本地数据库 我收到错误 Newtonsoft Json JsonReaderException 无法将字符串转换为日期时间 20 09 1982 12 00 00 路径 0 BIRTHDAY 第 1 行 位置 71