Как расшифровать русские символы из 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 | Колония (После полевых испытаний)
→ Ссылка