abdul subhan mohammed Ответов: 2

Как convet json to list object в C#


Дорогие Все,

У меня есть один класс

public class myPracticeInfo
        {
            public long CandidateID { get; set; }
            
            public long CandidateCertificateID { get; set; }
            

            public long CandidateCertificateModuleID { get; set; }
            

            public int PracticeTimeInMinutes { get; set; }

            public int LangugaeID { get; set; }
            

            public int NumberOfQuestions { get; set; }
            

            public bool? IsActive { get; set; }
        }


и у меня есть строка json,

[{ 'CandidateID': '17', 'CandidateCertificateID': '21', 'CandidateCertificateModuleID': '39', 'PracticeTimeInMinutes': '20', 'LangugaeID': '1', 'NumberOfQuestions': '20', 'IsActive': 'true'}]


Что я уже пробовал:

public static string CallSavePracticeInfo()
       {
           var practiceInfo = HttpContext.Current.Request.QueryString["practiceInfo"];
           //practiceInfo = practiceInfo.Replace("'", "\"");
           var pInfo = JsonConvert.SerializeObject(practiceInfo);
           var model = JsonConvert.DeserializeObject<myPracticeInfo>(pInfo);
           return model != null ? "1" : "0";
       }


Но приведенный выше код выдает ошибку

Newtonsoft.Json.JsonSerializationException: 'Error converting value "[{ 'CandidateID': '17', 'CandidateCertificateID': '21', 'CandidateCertificateModuleID': '39', 'PracticeTimeInMinutes': '20', 'LangugaeID': '1', 'NumberOfQuestions': '20', 'IsActive': 'true'}]" to type 'Task.UtilityTask+myPracticeInfo'. Path '', line 1, position 193.'

Inner Exception:
ArgumentException: Could not cast or convert from System.String to myPracticeInfo.


Кто-нибудь может пожалуйста помочь мне.


Заранее спасибо.

2 Ответов

Рейтинг:
18

Graeme_Grant

Я написал статью, чтобы ответить на эти вопросы: Работа с JSON в C# и VB[^]

Он будет иметь все ответы, которые вам нужны.