@dayover

Кирилица в C# (JSON)?

Здравствуйте, у меня проблема с кодировкой. Кириллица отображается в виде иероглифов, а латынь - хорошо.
Проблема сама начинается на этапе string json = client.DownloadString(url);
public class Item
        {
            public int id { get; set; }
            public int date { get; set; }
            public int @out { get; set; }
            public int user_id { get; set; }
            public int read_state { get; set; }
            public string title { get; set; }
            public string body { get; set; }
        }

        public class Response
        {
            public int count { get; set; }
            public List<Item> items { get; set; }
        }

        public class RootObject
        {
            public Response response { get; set; }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            string method = "messages.get";
            string param = "out&count=10";
            string url = "https://api.vk.com/method/"+method+"?"+param+"&v=5.31&access_token="+myAuth.Token1+"";

            WebClient client = new WebClient();
            string json = client.DownloadString(url);
            JavaScriptSerializer json_serializer = new JavaScriptSerializer();
            RootObject response = (RootObject)json_serializer.Deserialize(json, typeof(RootObject));
            textBox2.Text = response.response.items[0].body;
        }
  • Вопрос задан
  • 9481 просмотр
Решения вопроса 1
@Inv3go
Конкретно это должно помочь.
string json = Encoding.UTF8.GetString(client.DownloadData(url));

А так же совет почитать об async/await чтобы сделать эти вызовы асинхронными и не вешать интерфейс при загрузке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Neuroware
@Neuroware
Программист в свободное от работы время
после получения response.response.items[0].body нужно преобразовать кодировку в ту, которая используется при отображении.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы