Как создать структуру классов для объекта ответа json

#c# #json #class #serialization #jsonresponse

#c# #json #класс #сериализация #jsonresponse

Вопрос:

у меня есть объект ответа json, но я не могу создать структуру классов для следующего объекта ответа json.

 {
    "PWSESSIONRS": [
        {
            "PWPROCESSRS": {
                "PWHEADER": {
                    "APP_ID": "HSA",
                    "ORG_ID": "HSA",
                    "OUT_PROCESS_ID": "weconnect_validate",
                    "IN_PROCESS_ID": "weconnect_validate",
                    "LOGIN_ID": "TEST10800"
                },
                "PWDATA": {
                    "weconnect_validate": {
                        "Row": [
                            {
                                "success": "1"
                            }
                        ]
                    }
                }
            }
        }
    ]
}
  

Пожалуйста, предложите мне некоторую структуру классов. Я создал следующую структуру классов, но Json.Convert не смог ее десериализовать.

 public class LoginSuccess
    {
        public List<PwProcessorSuccess> PWSESSIONRS { get; set; }
    }
    public class RowSuccess
    {
        public string success { get; set; }
    }
    public class WeconnectValidateSuccess
    {
        public List<RowSuccess> Row { get; set; }
    }
    public class PwDataSuccess
    {
        public WeconnectValidateSuccess weconnect_validate { get; set; }
    }
    public class PwHeaderSucess
    {
        public string LOGIN_ID { get; set; }
        public string ORG_ID { get; set; }
        public string APP_ID { get; set; }
        public string IN_PROCESS_ID { get; set; }
        public string OUT_PROCESS_ID { get; set; }
    }
    public class PwProcessorSuccess
    {
        public PwHeaderSucess PWHEADER { get; set; }
        public PwDataSuccess PWDATA { get; set; }
    }
  

Пожалуйста, помогите.

Комментарии:

1. Похоже, вам не хватает одного уровня классов. Список содержит класс, который содержит ваш PWProcessorSuccess (например, словарь), а не этот объект напрямую

2. Есть также ошибки дальше по структуре. Я бы посоветовал вам поискать онлайн-сервис, который создает структуру классов с учетом допустимого JSON, а затем начать изменять этот результат.

3. Пожалуйста, проверьте json2csharp.com

Ответ №1:

Я создал классы для вас с самого начала, чтобы следующий код вам очень помог, и ваша проблема будет решена мгновенно.
Вы можете использовать приведенный ниже код:

 public class MainKeepClass
{ 
    public PWSESSIONR[] PWSESSIONRS { get; set; }
}

public class PWSESSIONR
{
    public PWPROCESSRS PWPROCESSRS { get; set; }
}

public class PWPROCESSRS
{
    public PWHEADER PWHEADER { get; set; }
    public PWDATA PWDATA { get; set; }
}

public class PWHEADER
{
    public string APP_ID { get; set; }
    public string ORG_ID { get; set; }
    public string OUT_PROCESS_ID { get; set; }
    public string IN_PROCESS_ID { get; set; }
    public string LOGIN_ID { get; set; }
}

public class PWDATA
{
    public Weconnect_Validate weconnect_validate { get; set; }
}

public class Weconnect_Validate
{
    public Row[] Row { get; set; }
}

public class Row
{
    public string success { get; set; }
}