C# Get запрос + работа со словарями

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Просьба сильно не ругаться, не могу сообразить как правильно работать со списком словарей в C#. Несколько вопросов.
Вопрос 1.
Я создаю гет запрос
C#:
var response = ZennoPoster.HttpGet(url, proxy, encoding, ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody, timeout, cookies, userAgent, useRedirect, maxRedirectCount, additionalHeaders);
и на выходе получаю вот это

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Sun, 08 Nov 2020 12:49:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.3.14

[
{"accNumber":34,"alias":"10212","drawdown":-5019.55},
{"accNumber":35,"alias":"10732","drawdown":-5019.55}
]

Как вытащить этот словарь в переменную, при этом получить 200 ответ что все ок. Если создать просто
C#:
var response = ZennoPoster.HttpGet(url);
то получаю этот список как нужно, но без ответа 200 ок. Мне по хорошему нужно получить ответ что все ок, и после этого только начинать работу со словарем. Сейчас знаний хватает взять первый вариант с ответом 200, проверить на контейн "200 OK" и через регулярку вытащить данные в переменную, вот думаю может можно сделать как то проще.

Самый главный вопрос 2.
Как засунуть мой ответ в переменную словаря и обращаться по индексу, тут чет не могу сообразить. Ругается зенка на мое творчество. Вот такой есть список словарей.
[
{"accNumber":34,"alias":"10212","drawdown":-5019.55},
{"accNumber":35,"alias":"10732","drawdown":-5019.55}
]
мне нужно чтобы я мог обратиться:
словарь[0]["accNumber"] и мне выдал он значение 34
или
словарь[1]["accNumber"] и мне выдал он значение 35
и тд. и тп.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
А если сделать через встроенный JSON?

Сначала достаём регуляркой список - \[[\w\W]*]
66832
А после:
C#:
// Это пример. Вашу строку Вы должны достать с помощью regex из ответа на запрос.
string s = @"[
{""accNumber"":34,""alias"":""10212"",""drawdown"":-5019.55},
{""accNumber"":35,""alias"":""10732"",""drawdown"":-5019.55}
]";

project.Json.FromString(s);

return project.Json[0].accNumber;
 
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
А если сделать через встроенный JSON?

Сначала достаём регуляркой список - \[[\w\W]*]
А после:
C#:
// Это пример. Вашу строку Вы должны достать с помощью regex из ответа на запрос.
string s = @"[
{""accNumber"":34,""alias"":""10212"",""drawdown"":-5019.55},
{""accNumber"":35,""alias"":""10732"",""drawdown"":-5019.55}
]";

project.Json.FromString(s);

return project.Json[0].accNumber;
Спасибо. с джейсоном не работал, но судя по синтаксису все просто.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 804
Баллы
113
Вот ссылка на справку - клик
Документация - клик

Количество элементов можно получить с помощью кода - project.Json.Count;
 
  • Спасибо
Реакции: DevOps и arbplv

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)