Помогите с json

Neekiloj

Участник
Автор темы
76
2
"success": true,
"date": "2023-09-30T09:42:16.269Z",
"data": {
"messages": [
{
"id": 13314,
"content": "@youre weak run, ку",
"createdAt": "09:41",
"user": {
"id": 684937,
"name": "Dark'me",
"steamId": "76561199007112459",
"avatar": "https://images-ext-1.discordapp.net...tps/i.gifer.com/3sT4.gif?width=448&height=448",
"role": 5,
"battlepass": null
},
"type": 1
},
Есть такой вывод с чата на сайте в json, мне надо получить доступ к content, если у человека ник например Dark'me как тут, как мне можно такое реализовать на c#?
 

Savok

Потрачен
177
292
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
public class ChatMessage
{
public int Id { get; set; }
public string Content { get; set; }
public string CreatedAt { get; set; }
public User User { get; set; }
public int Type { get; set; }
}

public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string SteamId { get; set; }
public string Avatar { get; set; }
public int Role { get; set; }
public object BattlePass { get; set; }
}
string jsonString = @"
{
""id"": 13314,
""content"": ""@youre weak run, ку"",
""createdAt"": ""09:41"",
""user"": {
""id"": 684937,
""name"": ""Dark'me"",
""steamId"": ""76561199007112459"",
""avatar"": ""https://images-ext-1.discordapp.net...tps/i.gifer.com/3sT4.gif?width=448&height=448"",
""role"": 5,
""battlepass"": null
},
""type"": 1
}";

ChatMessage chatMessage = JsonConvert.DeserializeObject<ChatMessage>(jsonString);

string content = chatMessage.Content;
Console.WriteLine(content); // Выводит: "@youre weak run, ку"
 
  • Нравится
Реакции: sizeoftrickster и Z3roKwq

Neekiloj

Участник
Автор темы
76
2
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(apiUrl);
if (response.IsSuccessStatusCode)
{

string jsonResponse = await response.Content.ReadAsStringAsync();
dynamic json = JsonConvert.DeserializeObject<dynamic>(jsonResponse);
string name = json.data.messages[0].user.name;
if (name == "Dark'me")
{
string content = json.data.messages[0].content;
Console.WriteLine(content);
}
else
{
goto m;
}
Есть такой вариант, как можно сделать так, что бы после проверки 1 сточки из json, он не стопался, а шёл на новый круг
 

Savok

Потрачен
177
292
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
public class ChatMessage
{
public int Id { get; set; }
public string Content { get; set; }
public string CreatedAt { get; set; }
public User User { get; set; }
public int Type { get; set; }
}

public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string SteamId { get; set; }
public string Avatar { get; set; }
public int Role { get; set; }
public object BattlePass { get; set; }
}
string jsonString = @"
{
""id"": 13314,
""content"": ""@youre weak run, ку"",
""createdAt"": ""09:41"",
""user"": {
""id"": 684937,
""name"": ""Dark'me"",
""steamId"": ""76561199007112459"",
""avatar"": ""https://images-ext-1.discordapp.net...tps/i.gifer.com/3sT4.gif?width=448&height=448"",
""role"": 5,
""battlepass"": null
},
""type"": 1
}";

ChatMessage chatMessage = JsonConvert.DeserializeObject<ChatMessage>(jsonString);

string content = chatMessage.Content;
Console.WriteLine(content); // Выводит: "@youre weak run, ку"
Думаю это оптимальный выбор для тебя
@Neekiloj