У меня есть API отдыха, который принимает объект, аналогичный тому, который определен ниже
public class RequestObject
{
public object myObject {get; set;}
public string myString1 {get; set;}
public object myString2 {get; set;}
}
Метод в контроллере определяется как
public IActionResult DoSomething([FromBody] RequestObject request)
{
// my business logic
}
Если я передаю следующий JSONзапросите мой метод выше и проверьте его, myObject в запросе показан как тип object{Newtonsoft.Json.Linq.JObject}
.Затем, когда я пытаюсь привести его к ожидаемому объекту на основе других данных в запросе, происходит сбой из-за того, что он рассматривается как объект JObject.
{
"request": {
"TaskId": 0,
"Guid": "56874aa0-7811-4bfb-a6f1-55798ef030e0",
"EventTimeStamp": "2019-04-16T09:17:25.4529758-05:00",
"EventDuration": 0,
"Destination": null,
},
"myString1": "identifier",
"myString2": "some information",
}
Почему myObject отображается как Newtonsoft.Json.Linq.JObject
?Я также вижу подобную проблему, если я пытаюсь сериализовать запрос, используя MessagePack, так как средство распознавания JObject не известно.