C# Datetime не может преобразовать гггг-ММ-дд'Т'ЧЧ:мм:сс.СССЗ в Datetime ⇐ C#
C# Datetime не может преобразовать гггг-ММ-дд'Т'ЧЧ:мм:сс.СССЗ в Datetime
For a project I am creating an ASP.net Core Web API.
I created a POST endpoint for request from a Webhook (Java API)
My C# Class:
public class Data { [JsonPropertyName("state")] public string? state { get; set; } [JsonPropertyName("lat")] public double? lat { get; set; } [JsonPropertyName("lng")] public double? lng { get; set; } [JsonPropertyName("accuracy")] public int? accuracy { get; set; } [JsonPropertyName("source")] public string? source { get; set; } [JsonPropertyName("id")] public int? id { get; set; } [JsonPropertyName("time")] public DateTime? time { get; set; } [JsonPropertyName("insertTime")] public DateTime? insertTime { get; set; } [JsonPropertyName("serial")] public string? serial { get; set; } } So I thought datetime could dealing with following format: 2023-03-01T15:25:00+0000 But I always get an error from this type:
"The JSON value could not be converted to System.Nullable`1[System.DateTime]. Path: $.data.time | LineNumber: 0 | BytePositionInLine: 139." Someone that have a solution?
Thanks in Advance.
UPDATE:
JSON :
{ "dataType":"location", "data": { "state":"STOP", "lat":50.00, "lng":5.00, "source":"gps", "id":1804885154, "time":"2023-03-01T11:12:00+0000", "insertTime":"2023-03-01T11:18:30+0000", "serial":"xxxx" } } FULL C# CLASS:
public class SensolusSensorWebhook { [JsonProperty("dataType")] public string? DataType { get; set; } [JsonProperty("data")] public Data? Data { get; set; } } public class Data { [JsonPropertyName("state")] public string? state { get; set; } [JsonPropertyName("lat")] public double? lat { get; set; } [JsonPropertyName("lng")] public double? lng { get; set; } [JsonPropertyName("accuracy")] public int? accuracy { get; set; } [JsonPropertyName("source")] public string? source { get; set; } [JsonPropertyName("id")] public int? id { get; set; } [JsonPropertyName("time")] public DateTime? time { get; set; } [JsonPropertyName("insertTime")] public DateTime? insertTime { get; set; } [JsonPropertyName("serial")] public string? serial { get; set; } [JsonPropertyName("thirdPartyId")] public string? thirdPartyId { get; set; } } Swagger UI Info: Foto van endpoint in swagger
Endpoint code:
[HttpPost("sensordata/sensolus")] public async Task PostSensolusWebhook([FromBody] SensolusSensorWebhook? sensorWebhook) { _logger.LogInformation("Falls in PostSensolusWebhook"); _logger.LogInformation($"Sensorwebhook: {sensorWebhook.ToString()}"); await _sensorTestDataService.CreateAsync(sensorWebhook); return Ok(sensorWebhook); }
Источник: https://stackoverflow.com/questions/756 ... o-datetime
For a project I am creating an ASP.net Core Web API.
I created a POST endpoint for request from a Webhook (Java API)
My C# Class:
public class Data { [JsonPropertyName("state")] public string? state { get; set; } [JsonPropertyName("lat")] public double? lat { get; set; } [JsonPropertyName("lng")] public double? lng { get; set; } [JsonPropertyName("accuracy")] public int? accuracy { get; set; } [JsonPropertyName("source")] public string? source { get; set; } [JsonPropertyName("id")] public int? id { get; set; } [JsonPropertyName("time")] public DateTime? time { get; set; } [JsonPropertyName("insertTime")] public DateTime? insertTime { get; set; } [JsonPropertyName("serial")] public string? serial { get; set; } } So I thought datetime could dealing with following format: 2023-03-01T15:25:00+0000 But I always get an error from this type:
"The JSON value could not be converted to System.Nullable`1[System.DateTime]. Path: $.data.time | LineNumber: 0 | BytePositionInLine: 139." Someone that have a solution?
Thanks in Advance.
UPDATE:
JSON :
{ "dataType":"location", "data": { "state":"STOP", "lat":50.00, "lng":5.00, "source":"gps", "id":1804885154, "time":"2023-03-01T11:12:00+0000", "insertTime":"2023-03-01T11:18:30+0000", "serial":"xxxx" } } FULL C# CLASS:
public class SensolusSensorWebhook { [JsonProperty("dataType")] public string? DataType { get; set; } [JsonProperty("data")] public Data? Data { get; set; } } public class Data { [JsonPropertyName("state")] public string? state { get; set; } [JsonPropertyName("lat")] public double? lat { get; set; } [JsonPropertyName("lng")] public double? lng { get; set; } [JsonPropertyName("accuracy")] public int? accuracy { get; set; } [JsonPropertyName("source")] public string? source { get; set; } [JsonPropertyName("id")] public int? id { get; set; } [JsonPropertyName("time")] public DateTime? time { get; set; } [JsonPropertyName("insertTime")] public DateTime? insertTime { get; set; } [JsonPropertyName("serial")] public string? serial { get; set; } [JsonPropertyName("thirdPartyId")] public string? thirdPartyId { get; set; } } Swagger UI Info: Foto van endpoint in swagger
Endpoint code:
[HttpPost("sensordata/sensolus")] public async Task PostSensolusWebhook([FromBody] SensolusSensorWebhook? sensorWebhook) { _logger.LogInformation("Falls in PostSensolusWebhook"); _logger.LogInformation($"Sensorwebhook: {sensorWebhook.ToString()}"); await _sensorTestDataService.CreateAsync(sensorWebhook); return Ok(sensorWebhook); }
Источник: https://stackoverflow.com/questions/756 ... o-datetime
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Преобразование ввода даты строкового типа (гггг-мм-ддч: мм: сс) в формат ММ/дд/гггг
Anonymous » » в форуме C# - 0 Ответы
- 79 Просмотры
-
Последнее сообщение Anonymous
-