Я создаю оболочку ActiveCampaign V1.1 для C # .NET и создаю класс, который перечисляет списки контактов, используя (https://www.activecampaign.com/api/example.php?call=list_list)
Объект ответа, возвращаемый после JsonConvert.DeserializeObject<BasicListResponse>(JSON)
, имеет заполненные не-списочные свойства, но часть списка JSON не преобразуется.
Я пробовал следующие BasicListResponse
реализации:
public class Result
{
[JsonProperty("result_code")]
public int ResultCode { get; set; }
[JsonProperty("result_message")]
public string ResultMessage { get; set; }
[JsonProperty("result_output")]
public string ResultOutput { get; set; }
}
public class BasicListResponse : Result
{
public Dictionary<string, BasicList> list { get; set; }
}
public class BasicList
{
[JsonProperty("id")]
public string Id { get; set; }
[Required]
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("cdate")]
public DateTime CreatedOn { get; set; }
[JsonProperty("private")]
public bool Private { get; set; }
[JsonProperty("userid")]
public string UserId { get; set; }
[JsonProperty("subscriber_count")]
public int SubscriberCount { get; set; }
}
Я также пытался использовать json2csharp или VS> Paste Special, но выходные данные имеют нумерованные классы, а не список объектов.
Ответ JSON выглядит следующим образом:
{
"0": {
"id": "1",
"name": "xxxxx xxxxxx xxxxxxx",
"cdate": "2019-10-27 22:43:23",
"private": "0",
"userid": "1",
"subscriber_count": 1
},
"1": {
"id": "2",
"name": "yyyyy yyyyy yyyyy",
"cdate": "2019-10-27 22:44:03",
"private": "0",
"userid": "1",
"subscriber_count": 0
},
"result_code": 1,
"result_message": "Success: Something is returned",
"result_output": "json"
}
Я извлек Dictionary<T,T>
в оболочке, носписок всегда НЕДЕЙСТВИТЕЛЕН.
Если я повторно сериализую BasicListResponse
, результат будет следующим:
{ "list": null, "result_code": 1, "result_message": "Success: Something is returned", "result_output": "json" }
Я ожидаю, что будет использоваться BasicListResponse
как корневой объект, содержащий List / Array с тремя строковыми result_*
свойствами.
Я ценю любую помощь, чтобы решить эту проблему.