Как расшифровать русские символы из json
В ответ от сервера получаю json, в котором присутствуют русские символы, которые в свою очередь представлены последовательностью Unicode. Как мне расшифровать подобное? Пример ответа:
{
"type":"additem_go",
"data":"{\"ui_id\":\"3457773408\",\"i_name\":\"Dual Berettas | \\u041a\\u043e\\u043b\\u043e\\u043d\\u0438\\u044f (\\u041f\\u043e\\u0441\\u043b\\u0435 \\u043f\\u043e\\u043b\\u0435\\u0432\\u044b\\u0445 \\u0438\\u0441\\u043f\\u044b\\u0442\\u0430\\u043d\\u0438\\u0439)\"}"
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Здесь JSON внутри JSON.
Создайте 2 модели данных
class JsonData
{
[JsonPropertyName("type")]
public string Type { get; set; }
[JsonPropertyName("data")]
public string Data { get; set; }
}
class User
{
[JsonPropertyName("ui_id")]
public string Id { get; set; }
[JsonPropertyName("i_name")]
public string Name { get; set; }
}
И десереализуйте
static void Main(string[] args)
{
string json = "{\"type\":\"additem_go\",\"data\":\"{\\\"ui_id\\\":\\\"3457773408\\\",\\\"i_name\\\":\\\"Dual Berettas | \\\\u041a\\\\u043e\\\\u043b\\\\u043e\\\\u043d\\\\u0438\\\\u044f (\\\\u041f\\\\u043e\\\\u0441\\\\u043b\\\\u0435 \\\\u043f\\\\u043e\\\\u043b\\\\u0435\\\\u0432\\\\u044b\\\\u0445 \\\\u0438\\\\u0441\\\\u043f\\\\u044b\\\\u0442\\\\u0430\\\\u043d\\\\u0438\\\\u0439)\\\"}\"}";
var data = JsonSerializer.Deserialize<JsonData>(json);
var user = JsonSerializer.Deserialize<User>(data.Data);
Console.WriteLine(user.Name);
}
Вывод в консоль
Dual Berettas | Колония (После полевых испытаний)