White Whale Studio

[JSON] C#에서 사용하기 본문

IT Engineering/C#.net

[JSON] C#에서 사용하기

glorymind 2016. 8. 9. 14:48
반응형

http://www.newtonsoft.com/json


DLL 다운로드 하는 곳은 지난 번 포스팅에서 올려드린 경로와 같습니다.


아래는 Document의 경로입니다.


http://www.newtonsoft.com/json/help/html/SerializeObject.htm


워낙 Document가 잘되어 있어서 굳이 제가 할 필요가 있을까? 싶을 정도입니다.


용어만 잠깐 설명드리면 객체나 내용을 JSON으로 바꾸는 작업을 serialize 반대로 JSON 문서에서 내용을 가져오는 작업을

Deserialize라고 합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/// <summary>
    /// JSON Manager Class
    /// </summary>
    public class JsonManager
    {
        /// <summary>
        /// Serialize Object, Collection, Dictionary
        /// </summary>
        /// <param name="target">target Object</param>
        /// <returns>Serialized JSON data</returns>
        public string SerializeObject(object target)
        {
            return JsonConvert.SerializeObject(target);
        }
 
        /// <summary>
        /// Serialize object to JSON file
        /// </summary>
        /// <param name="filepath">file path</param>
        /// <param name="target">target object</param>
        /// <returns>process results</returns>
        public bool SerializeJsonToFile(string filepath, object target)
        {
            bool results = false;
 
            try
            {
                using (StreamWriter file = File.CreateText(filepath))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Serialize(file, target);
                }
 
                results = true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "," + ex.StackTrace);                
            }
 
            return results;
        }
 
        /// <summary>
        /// Deserialize Object
        /// </summary>
        /// <typeparam name="T">target value type</typeparam>
        /// <param name="origin">JSON string</param>        
        /// <returns>Deserialized object</returns>
        public T DeserializeObject<T>(string origin)
        {
            T target = JsonConvert.DeserializeObject<T>(origin);
 
            return target;
        }
 
        /// <summary>
        /// Deserialize object from JSON file
        /// </summary>
        /// <typeparam name="T">target value type</typeparam>
        /// <param name="filepath">origin file path</param>        
        /// <returns>return target object</returns>
        public T DeserializeObjectFromFile<T>(string filepath)
        {
            T target = default(T);
            
            try
            {
                target = JsonConvert.DeserializeObject<T>(File.ReadAllText(filepath));
            }
            catch (JsonSerializationException ex)
            {
                Console.WriteLine(ex.Message + "," + ex.StackTrace);
            }
 
            return target;
        }
    }
cs

사용법은 홈페이지에 포함된 Document를 참고하시기 바랍니다.


반응형
Comments