Json, который вы здесь предоставили, недействителен, поэтому я предполагаю, что у вас есть json, как показано ниже
string jsonString = "{'data':[{'eventID':1,'name': 'Wedding','status': true},{'eventID':2,'name': 'Baptism','status': true},{'eventID':2,'name': 'Birthday','status': null}]}".Replace("'", "\"");
Затем вам нужно создать подходящую модель для хранения данных.
public class ConvertedResult
{
[JsonProperty(PropertyName = "data")]
public IEnumerable<JsonConvertSampleClass> ResultList { get; set; }
}
public class JsonConvertSampleClass
{
[JsonProperty(PropertyName = "eventID")]
public int EventId { get; set; }
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "status")]
public bool? Status { get; set; }
}
Затем, наконец, Deserialize
ваш Object
var response = Newtonsoft.Json.JsonConvert.DeserializeObject<ConvertedResult>(jsonString);
Таким образом, ответ var (тип ConvertedResult
) будет содержать список типа JsonConvertSampleClass
с 3 элементами в нем.
Примечание: не забудьте включить using Newtonsoft.Json;
Вопрос редактируется после опубликованного ответа, так что ответьте на отредактированный вопрос:
string jsonString = "[{'eventID':1,'name': 'Wedding','status': true},{'eventID':2,'name': 'Baptism','status': true},{'eventID':2,'name': 'Birthday','status': null}]".Replace("'", "\"");
var response = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<JsonConvertSampleClass>>(jsonString);
Сторонапримечание: если вы не хотите использовать JsonProperty
атрибут, тогда вы можете выбрать CamelCasePropertyNamesContractResolver
, как предложено @Fram.