Фильтр Json вывод с использованием C# - PullRequest
0 голосов
/ 28 марта 2020

Я получаю json результат через HTTPClient-запрос, используя C#, выходные данные будут выглядеть, как указано ниже

{
  "status": 1,
  "message": "",
  "data": {
    "username": "abcdefghi",
    "password": "oiwenkwjw"
  }
}

Мне нужно отфильтровать только объект "данные", используя C# в stati c class, у меня нет проблем с использованием LINQ или любого другого простого метода, но нет необходимости создавать отдельный класс для него, любая небольшая помощь будет принята с благодарностью, спасибо

Ответы [ 2 ]

2 голосов
/ 28 марта 2020
using Newtonsoft.Json.Linq;  -- i used newtonsoft json api

string jsonData = @"{  
    'status': 1,
    'message': '',
    'data': {
    'username': 'abcdefghi',
    'password': 'oiwenkwjw'
    }
    }";

var details = JObject.Parse(jsonData);
Console.WriteLine(details["data"]);

1 голос
/ 28 марта 2020

Вы также можете определить некоторые классы для моделирования вашего JSON:

public class Data
{
    public string Username { get; set; }
    public string Password { get; set; }
    public override string ToString()
    {
        return JsonConvert.SerializeObject(this, Formatting.Indented);
    }
}

public class RootObject
{
    public int Status { get; set; }
    public string Message { get; set; }
    public Data Data { get; set; }
}

Затем используйте Json. NET для десериализации JSON и вывода Data из переопределенного ToString() метода:

string jsonData = @"{  
    'status': 1,
    'message': '',
    'data': {
        'username': 'abcdefghi',
        'password': 'oiwenkwjw'
     }
 }";

 var deserializedJson = JsonConvert.DeserializeObject<RootObject>(jsonData);

 Console.WriteLine(deserializedJson.Data);

Вывод:

{
    "Username": "abcdefghi",
    "Password": "oiwenkwjw"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...