Beispiel #1
0
        /// <summary>
        /// 將物件序列化為 JSON 字串。
        /// </summary>
        /// <param name="value">物件。</param>
        /// <param name="options">Json序列化選項。</param>
        public static string ObjectToJson(object value, JsonOptions options = null)
        {
            // 序列化為 JSON 字串
            var oSettings = GetJsonSerializerSettings(options);
            var sJson     = JsonConvert.SerializeObject(value, oSettings);

            return(sJson);
        }
Beispiel #2
0
        /// <summary>
        /// 將 Json 字串反序列化為物件。
        /// </summary>
        /// <param name="json">JSON 字串。</param>
        /// <param name="type">型別。</param>
        /// <param name="options">Json序列化選項。</param>
        public static object JsonToObject(string json, Type type, JsonOptions options = null)
        {
            // 反序列化 JSON 字串
            var oSettings = GetJsonSerializerSettings(options);
            var oValue    = JsonConvert.DeserializeObject(json, type, oSettings);

            return(oValue);
        }
Beispiel #3
0
 /// <summary>
 /// 取得 JSON 序列化設定。
 /// </summary>
 /// <param name="options">Json序列化選項。</param>
 private static JsonSerializerSettings GetJsonSerializerSettings(JsonOptions options)
 {
     if (options == null)
     {
         options = new JsonOptions();
     }
     return(GetJsonSerializerSettings(options.IgnoreDefaultValue, options.IgnoreNullValue, options.IncludeTypeName));
 }
Beispiel #4
0
 /// <summary>
 /// 將 Json 字串反序列化為物件。
 /// </summary>
 /// <typeparam name="T">泛型型別。</typeparam>
 /// <param name="json">JSON 字串。</param>
 /// <param name="options">Json序列化選項。</param>
 public static T JsonToObject <T>(string json, JsonOptions options = null)
 {
     return((T)JsonToObject(json, typeof(T), options));
 }