WasTabon
@WasTabon

Как спарсить json?

Например я отсылаю такой запрос --> https://developer.qiwi.com/ru/qiwi-wallet-personal...
И мне приходит json в ответ, как я могу получить только баланс? Без всех других скобочек, букв и т.д.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
Надо парсить json. Например с помощью https://www.newtonsoft.com/json
Ответ написан
@vabka Куратор тега C#
Токсичный
Вот пример с использованием System.Text.Json
public class AccountType    {
        [JsonPropertyName("id")]
        public string Id { get; set; } 

        [JsonPropertyName("title")]
        public string Title { get; set; } 
    }

    public class Balance    {
        [JsonPropertyName("amount")]
        public decimal Amount { get; set; } 

        [JsonPropertyName("currency")]
        public int Currency { get; set; } 
    }

    public class Account    {
        [JsonPropertyName("alias")]
        public string Alias { get; set; } 

        [JsonPropertyName("fsAlias")]
        public string FsAlias { get; set; } 

        [JsonPropertyName("bankAlias")]
        public string BankAlias { get; set; } 

        [JsonPropertyName("title")]
        public string Title { get; set; } 

        [JsonPropertyName("type")]
        public AccountType Type { get; set; } 

        [JsonPropertyName("hasBalance")]
        public bool HasBalance { get; set; } 

        [JsonPropertyName("balance")]
        public Balance Balance { get; set; } 

        [JsonPropertyName("currency")]
        public int Currency { get; set; } 
    }

    public class AccountsInfo {
        [JsonPropertyName("accounts")]
        public Account[] Accounts { get; set; } 
    }

Потом
var data  = JsonSerializer.Deserialize<AccountsInfo>(json);
data.Accounts[0].Balance.Amount; //баланс первого счёта

генерил классы тут: https://json2csharp.com/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЭЛКОМ+ Москва
от 70 000 до 165 000 ₽
от 3 500 до 4 000 $
deeplay Новосибирск
от 130 000 до 200 000 ₽