2017-01-12 2 views
0

Как получить значение динамического объекта? Я размещаю скриншот выборочных данных. Я новичок в C# и понятия не имею об объекте в C#.C# dynamic Как получить значение

[HttpPost] 
[Route("api/TCSAPI/SaveTCS")] 
public HttpResponseMessage SaveTCS(dynamic tcsObject) 
{ 
    var track = tcsObject.GetType().GetProperty("track").GetValue(tcsObject, null); 
    return Helper.ComposeResponse(HttpStatusCode.OK, string.Empty); 
} 

enter image description here

Update: консоли JavaScript. это данные я послал к API

enter image description here

Update: Теперь я могу получить тип, что сказал Abion47 и это JObject. как получить данные этого объекта?

+0

входящее значение уже является динамическим. нет необходимости в размышлении. 'var track = tcsObject.track' – Nkosi

ответ

2

Вы только что поняли. Относитесь к нему так, как если бы это был тип, который вы ожидаете от него, и если он не работает, он выдаст ошибку. Так работает dynamic, имитируя поведение слабо типизированных языков.

var track = tcsObject.track; 
+0

Да, ваше право. как насчет категории? –

+0

@SecretCoding Какую категорию? Если это другое поле/свойство, вы получите его точно так же: 'tcsObject.category' – Abion47

+0

тот, что на картинке. tcsObject имеет категорию, которая является категорией, состоящей из многих объектов с массивом в javascript. когда я делаю tcsOject.category.Value, я получил null. как преобразовать его в список или в тип данных C#? –

Смежные вопросы