【问题标题】:deserialize a object to return empty string for object type nullable datetime反序列化对象以返回对象类型可为空的日期时间的空字符串
【发布时间】:2020-12-01 18:18:04
【问题描述】:

我正在尝试反序列化一个对象。它为可为空的日期时间(已收集)的对象返回 null

public async var GetOrders()
{
    var orders =  await db
            .GetDataTableAsync($"query")
            .GetRows()
            .Select(r => new
            {
                OrderContent = (dynamic) JsonConvert.DeserializeObject(r["json"].ToString())
            }).ToList();

    return orders;
}

public class OrderInfo
{
    public DateTime? Collected { get; set; } 

    public string TypeID { get; set; }
}

结果:

{
    "Collected": null,
    "TypeID": 1
}

预期:

{
    "Collected": "",
    "TypeID": 1
}

【问题讨论】:

  • DateTime?null 或某种类型的DateTime""string
  • 您的问题和代码谈论的是反序列化,但您的“预期结果”只能是序列化的结果。不太清楚你在这里期待什么。
  • @JeroenMostert 我正在反序列化查询返回的对象,反序列化时它返回 null,我希望它返回一个空字符串
  • @RyanWilson 是的!但是有没有办法将它转换为空字符串“”?
  • 你需要显示你正在反序列化的 JSON。

标签: c# linq deserialization jsonconvert


【解决方案1】:

尝试使用自定义 json 序列化程序。请。看两篇文章:

  1. Json Convert empty string instead of null
  2. enter link description here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    相关资源
    最近更新 更多