View difference between Paste ID: 9JPXdyJ0 and vUTh6gp8
SHOW: | | - or go back to the newest paste.
1
using System.Text;
2
using JsonFx.Json;
3
4-
namespace Mvvm.Framework.Extensions
4+
namespace Extensions
5
{
6
    /// <summary>
7
    /// Wraps JsonFX.Json
8
    /// </summary>
9
    public static class Serializer 
10
    {
11
        /// <summary>
12
        /// deserializes the object from a string
13
        /// </summary>
14
        /// <typeparam name="T"></typeparam>
15
        /// <param name="data"></param>
16
        /// <returns></returns>
17
        public static T DeserializeString<T>(string data)
18
        {
19
            return JsonReader.Deserialize<T>(data);
20
        }
21
22
        /// <summary>
23
        /// deserializes the object from a binary jsonstring
24
        /// </summary>
25
        /// <typeparam name="T"></typeparam>
26
        /// <param name="data"></param>
27
        /// <returns></returns>
28
        public static T DeserializeBinary<T>(byte[] data)
29
        {
30
            var s = Encoding.UTF8.GetString(data);
31
            return DeserializeString<T>(s);
32
        }
33
34
        /// <summary>
35
        /// serializes the object into a json string
36
        /// </summary>
37
        /// <param name="o"></param>
38
        /// <returns></returns>
39
        public static string SerializeString(object o)
40
        {
41
            return JsonWriter.Serialize(o);
42
        }
43
44
        /// <summary>
45
        /// serializes the object into a json string and then into binary
46
        /// </summary>
47
        /// <param name="o"></param>
48
        /// <returns></returns>
49
        public static byte[] SerializeBinary(object o)
50
        {
51
            var data = SerializeString(o);
52
            return StringToBinary(data);
53
        }
54
55
        /// <summary>
56
        /// serializes the string and into binary
57
        /// </summary>
58
        /// <param name="o"></param>
59
        /// <returns></returns>
60
        public static byte[] StringToBinary(string o)
61
        {
62
            return Encoding.UTF8.GetBytes(o);
63
        }
64
    }
65
}