десериализовать список json с сервера Rest c # - PullRequest
0 голосов
/ 22 октября 2018

Просто немного застрял здесь, я хочу получить "уведомления" (список) от json, который отправляется мне обратно с сервера.Пожалуйста, смотрите ниже:

{"amountCashback": 0,"amountGratuity": 0, "amountTotal": 0, "notifications":["APPROVED" ],}

перечисления уведомлений;

notifications {
string = ['APPROVED', 'BAD_SWIPE', 'CARD_ERROR', 'CARD_EXPIRED', 'CARD_NOT_SUPPORTED', 'CONNECTING', 'CONNECTION_MADE', 'DECLINED', 'DECLINED_BY_CARD', 'INSERT_CARD', 'PIN_ENTRY', 'PLEASE_WAIT', 'PRESENT_CARD', 'PRESENT_ONLY_ONE_CARD', 'PROCESSING_ERROR', 'REMOVE_CARD', 'RETRYING', 'REQUEST_SENT', 'RE_PRESENT_CARD', 'SIGNATURE_VERIFICATION', 'SIGNATURE_VERIFICATION_PROCESS_COMPLETED', 'SIGNATURE_VERIFICATION_PROCESS_COULD_NOT_BE_COMPLETED', 'SIGNATURE_VERIFICATION_IN_PROGRESS', 'SIGNATURE_VERIFICATION_TIMEOUT', 'TRANSACTION_FINISHED', 'TRANSACTION_STARTED']

Использование json для c # Я создал класс ниже

class Polling
{
    public int amountBase { get; set; }
    public int amountCashback { get; set; }
    public int amountGratuity { get; set; }
    public int amountTotal { get; set; }
    public string authCode { get; set; }
    public string cardSchemeName { get; set; }
    public string cardHolderVerificationMethod { get; set; }
    public string location { get; set; }
    public List<string> notifications { get; set; }
    public string paymentMethod { get; set; }
    public string transactionResult { get; set; }
    public DateTime transactionTime { get; set; }
    public string transactionType { get; set; }
    public string endPoint { get; set; }
    public httpVerb httpMethod { get; set; }
    public string userPassword { get; set; }
    public int sendAmount { get; set; }
    public string requestId { get; set; }}

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

 try
        {
            response = (HttpWebResponse)request.GetResponse();
            using (Stream responseStream = response.GetResponseStream())
            {
                if (responseStream != null)
                {
                    using (StreamReader reader = new StreamReader(responseStream))
                    {
                        strResponseValue = reader.ReadToEnd();
                    }
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        dynamic jsonObjtpi = JsonConvert.DeserializeObject(strResponseValue);
                        string notifications = jsonObjtpi.notifications.ToString();
                        return notifications;
                    }

                }
            }
        }

Спасибо, ребята, очень ценю это

1 Ответ

0 голосов
/ 22 октября 2018

Json может использовать ваш строго типизированный Polling объект, например

Polling polling = JsonConvert.DeserializeObject<Polling>(strResponseValue);

См. https://www.newtonsoft.com/json/help/html/DeserializeObject.htm

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