ProjectArcade
40 строк · 1.2 Кб
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.IO;
6using System.Runtime.Serialization.Json;
7
8namespace EmulatorLauncher.Common.FileFormats
9{
10public static class JsonSerializer
11{
12public static T DeserializeFile<T>(string fileName) where T : new()
13{
14T deserializedObj = new T();
15
16using (Stream ms = new FileStream(fileName, FileMode.Open, FileAccess.Read))
17{
18DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
19deserializedObj = (T)ser.ReadObject(ms);
20ms.Close();
21}
22
23return deserializedObj;
24}
25
26public static T DeserializeString<T>(string json) where T : new()
27{
28T deserializedObj = new T();
29
30using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
31{
32DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
33deserializedObj = (T)ser.ReadObject(ms);
34ms.Close();
35}
36
37return deserializedObj;
38}
39}
40}
41