Я пытаюсь преобразовать объект JObject в объект . У меня есть WEB-API с фреймворком ASP. NET, где я получаю объект запроса, который имеет свойство объекта. Это свойство объекта имеет совершенно неизвестную структуру и может иметь различные свойства или дочерние объекты (это зависит от отправляющей системы). Моя проблема заключается в том, чтобы проанализировать / преобразовать эти JObject-ы в объект.
Сериализация анонимного объекта очень проста, потому что определение объекта понятно, но как я могу сделать это наоборот?
У меня есть следующий контроллер:
[HttpPost]
[Route("insert")]
public IHttpActionResult Insert(RequestObject ro)
{
}
Этот контроллер получает следующее JSON -Body:
{
"SystemName":"S1_K3",
"MetaInformation":{
"Prop1":"X1",
"Prop3": 12,
"X1":{
"User":"XYZ",
"Session":4
}
}
}
Этот JSON -Тело определяется как Класс в моем коде выглядит следующим образом:
public class RequestObject {
public string SystemName { get; set;}
public object MetaInformation { get; set;}
}
Как вы можете видеть, MetaInformation имеет тип 'object', поэтому его можно заполнить информацией, представленной внутри json. Но когда я получаю объект внутри моего контроллера, свойство MetaInformation является объектом типа JObject. Как мне добиться, чтобы мой объект выглядел следующим образом:
object metaInformation = new{
Prop1="X1",
Prop3=12,
X1=new{
User="XYZ",
Session=4
}
};
Имейте в виду, что я не знаю структуру объекта во время выполнения.
Спасибо всем, кто может помочь!