Я хочу сериализовать JSON из массива в объект - PullRequest
0 голосов
/ 04 апреля 2020

Это мой желаемый JSON формат

{ "ReferId": "9800", 
"DestinationList":["250"], 
"EmailAddress": "Test_Emails@gmail.com", 
"ApplicantList":[ 
{
"FirstName":"Test", 
"LastName":"Test", 
"Dob":"01/01/1990", 
"Gender":"M", 
} ], 
"CreditCard": { 
"CardExpirationMonth": 1, 
"CardExpirationYear": 2021, 
"CardHolderAddress1": "123 Main", 
"Transaction": {"Amount":106.56} 
} 
} 

Следуя этой структуре, я создал модель. Пожалуйста, найдите класс

public class Atlas_Purchase
    {
        public string ReferId { get; set; }
        public List<string> DestinationList { get; set; }
        public List<AtlasApplicantList> ApplicantList { get; set; }
        private List<AtlasCreditCardDetails> CreditCards = new List<AtlasCreditCardDetails>();
        public List<AtlasCreditCardDetails> CreditCard
        {
            get { return CreditCards; }
            set { CreditCards = value; }
        }

public class AtlasApplicantList
    {
      public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Dob { get; set; }
        public string Gender { get; set; }
}

public class AtlasCreditCardDetails
    {
        public string CardExpirationMonth { get; set; }
        public string CardExpirationYear { get; set; }
        public string CardHolderAddress1 { get; set; }
        private List<AtlasTransaction> Transactions = new List<AtlasTransaction>();
        public List<AtlasTransaction> Transaction
        {
            get { return Transactions; }
            set { Transactions = value; }
        }
    }

Но когда я сериализую данные, и я получаю JSON в этом формате Неверно JSON Структура

Incorrect JSON Structure

Я пробовал разные способы сериализации данных, но все еще не повезло, пожалуйста, помогите решить эту проблему. Заранее спасибо.

Бисваруп

1 Ответ

0 голосов
/ 04 апреля 2020
public class AtlasTransaction { public decimal Amount {get;set;} }

У вас есть этот класс? Также вместо этого кода

private List<AtlasCreditCardDetails> CreditCards = new List<AtlasCreditCardDetails>();
public List<AtlasCreditCardDetails> CreditCard
{
get { return CreditCards; }
set { CreditCards = value; }
}

запишите это только много public List<AtlasCreditCardDetails> CreditCard {get;set;}

таким же образом, изменение в классе AtlasCreditCardDetails для свойства Transaction

...