ProjectArcade

Форк
0
40 строк · 1.2 Кб
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.IO;
6
using System.Runtime.Serialization.Json;
7

8
namespace EmulatorLauncher.Common.FileFormats
9
{
10
    public static class JsonSerializer
11
    {
12
        public static T DeserializeFile<T>(string fileName) where T : new()
13
        {
14
            T deserializedObj = new T();
15

16
            using (Stream ms = new FileStream(fileName, FileMode.Open, FileAccess.Read))
17
            {
18
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
19
                deserializedObj = (T)ser.ReadObject(ms);                
20
                ms.Close();
21
            }
22

23
            return deserializedObj;
24
        }
25

26
        public static T DeserializeString<T>(string json) where T : new()
27
        {
28
            T deserializedObj = new T();
29

30
            using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
31
            {
32
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
33
                deserializedObj = (T)ser.ReadObject(ms);
34
                ms.Close();
35
            }
36

37
            return deserializedObj;
38
        }
39
    }
40
}
41

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.