Как настроить класс на основе десериализованного JSON? - PullRequest
0 голосов
/ 09 октября 2019

У меня есть этот возвращаемый JSON, для которого я пытаюсь создать класс в C #. Я не могу получить правильное отображение, основанное на JSON, который я пытаюсь потреблять.

Я попытался скопировать JSON, а затем в Visual Studio сделать специальную вставку -> Вставить JSON как вариант классов, но это не сработало. Данные, возвращенные, скажем, в class.value, были пустыми.

{
    "status": {
        "type": "success",
        "code": 200,
        "message": "Success",
        "error": false
    },
    "data": [
        {
            "status": "Authenticated",
            "expires_at": "2019/10/09 11:48:08 +0000",
            "user": {
                "username": "xxxx",
                "email": "xxxx@yahoo.com",
                "firstname": "Steve",
                "id": 11111,
                "lastname": "xxxx"
            },
            "session_token": "XXXX",
            "return_to_url": null
        }
    ]
}

Любая отправная точка была бы отличной. Спасибо.

1 Ответ

0 голосов
/ 09 октября 2019
public class JsonClass 
{
    public JsonClass(){}
    public ResponseStatus status { get; set; }
    public IEnumerable<ResponseData> data {get; set;}
}

public class ResponseStatus
{
    public ResponseStatus(){}

    public string type {get; set;}
    public int code {get; set;}
    public string message {get; set;}
    public bool error {get; set;}
}

public class ResponseData 
{
    public string status {get; set;}
    public DateTime expires_at {get; set;}
    public ResponseUser user {get; set;}
    public string session_token {get; set;}
    public string return_to_url {get; set;}
}

public class ResponseUser 
{
    public string username {get; set;}
    public string email {get; set;}
    public string firstname {get; set;}
    public string lastname {get; set;}
    public int id {get; set;}
}

Используя что-то вроде Json.NET:

var response = JsonConvert.DeserializeObject<JsonClass>(json);

Я использую Json.NET тонну в своей работе и личных проектах. Вы можете найти больше информации об этом здесь. https://www.newtonsoft.com/json

Итак, на самом деле все, что вы делаете, - это определяете классы со свойствами, которые будут сопоставляться с предоставленной структурой JSON Array / Object. Затем, используя библиотеку, такую ​​как Json.NET, вы можете отобразить их туда и обратно, используя JsonConvert.SerializeObject(Object); или JsonConvert.DeserializeObject<T>(jsonString);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...