deserialize a object to return empty string for object type nullable datetime

1.3k Views Asked by At

I am trying to deserialize a object. It returns null for a object of nullable datetime (Collected)

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; }
}

result:

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

expected:

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

There are 1 best solutions below

0
On

Try to use custom json serializer. Pls. see two articles:

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