Read values from a Dynamic Object C#
Solution 1
It is dynamic so you can just do:
string batchId = item.batch_id;
If for some reason you have the property name in a string
, and don't know it at compile time, the indexing operator will work:
string value = item["batch_id"];
Solution 2
Try enumerating the values DynamicJsonObject.GetDynamicMemberNames Method. It returns an IEnumerable of string.
Solution 3
It doesn't work because they are fields, not properties. And, yeah, it is dynamic, so you can use just item.batch_id
.
MindGame
Updated on September 21, 2020Comments
-
MindGame almost 4 years
I'm trying to read values from System.Web.Helpers.DynamicJsonObject. I can see the values in the debugger but I can't figure out how to access them. I have tried this
item.GetType().GetProperty("batch_id").GetValue(item, null);
but when I try that I get this response in the debugger "item.GetType().GetProperty("batch_id")' is null"
I have attached a picture from my solution
Thank you, -Tesh
-
MindGame over 11 yearsThanks driss, that worked perfectly. I'm glad you mentioned the item["batch_id"], because that was my next question :).
-
Omer Javed over 9 yearsPlease can you explain in which case property names would be in "string" and in which case as normal properties ?