I am trying to deserialize a JSON string, where that JSON string has a "events" array, the problem lies in that when I try to dererialize the string, as seeing below, it is trying to find the "field_name" variable however not all objects in the array is built in the same way, only some of them have a "field_name" variable. I don't have control over the API in question.
What basically I am trying to do
dynamic obj = JsonConvert.DeserializeObject(json);
var audits = obj.audits;
List<dynamic> dynamics = JsonConvert.DeserializeObject<List<dynamic>>
(audits.ToString());
List<Event> events = JsonConvert.DeserializeObject<List<Event>>
(dynamics[0].events.ToString());
//The Event class
public class Event
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("value")]
public string Value { get; set; }
[JsonProperty("field_name")]
public string Field_Name { get; set; }
}
I continue to get this exception:
Newtonsoft.Json.JsonReaderException: Error reading string. Unexpected token:
StartArray. Path '[5].value', line 44, position 15.
JSON array something like this:
[{
"id":"id",
"field_name":"field_name",
"something":"something"
},{
"id":"id",
"number":"number",
"something":"something"
},{
"id":"id",
"field_name":"field_name",
"something":"something"
},{
"id":"id",
"name":"name",
"something":"something"
}]