#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; }
}