I would recommend you to create a strongly-typed class for your JSON object like this:
public class M203StructureKind
{
public string Code { get; set; }
public string Description { get; set; }
}
public class RootObject
{
public List<M203StructureKind> M203StructureKind { get; set; }
}
Then you should be able to deserialized it like in the following:
var jsonStirng = "{ \"M203StructureKind\":[ { \"Code\":\"1\", \"Description\":\"BRIDGE\" }, { \"Code\":\"2\", \"Description\":\"CULVERT\" }, { \"Code\":\"3\", \"Description\":\"TUNNEL\" }, { \"Code\":\"4\", \"Description\":\"TRAIL BRIDGE\" }, { \"Code\":\"5\", \"Description\":\"OTHER\" } ]}";
var root = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(jsonStirng);
foreach(var item in root.M203StructureKind)
{
var code = item.Code;
var desc = item.Description;
}
That way, you don't have to hard code the attribute that you want to access from the JSON object.