Removes Json null objects from the serialized string and return a new string(Extention Method)
// --------------------------------
// <copyright file="SharePageUtils.cs" company="Samaj Shekhar">
// Copyright (c) 2010-2011 Samaj Shekhar
// </copyright>
// <author>Samaj Shekhar (samaj.shekhar@hotmail.com)</author>
// <license>Released under the terms of the Microsoft Public License (Ms-PL)</license>
// <website>http://thesharepage.codeplex.com</website>
// ---------------------------------
using System;
using System.Web.Script.Serialization;
using System.Text.RegularExpressions;
namespace SharePage.CoreLib.Utils.ExtentionMethods
{
/// <summary>
/// <para>Encapsulates the custom extention methods for Types</para>>
/// </summary>
/// <remarks>
/// Copyright: Copyright (c) 2010-2011 Samaj Shekhar
/// Last Update: 4-Jan-2011|4:46am
/// </remarks>
public static class Extentions
{
/// <summary>
/// Check wheather the string is empty or null (Extention Method)
/// </summary>
/// <param name="str">The string to be checked</param>
/// <returns>Returns true if string is NULL or String.Empty, otherwise false</returns>
public static bool IsEmptyOrNull(this string str)
{
if (str == null || str == string.Empty)
{
return true;
}
return false;
}
/// <summary>
/// Removes Json null objects from the serialized string and return a new string(Extention Method)
/// </summary>
/// <param name="str">The String to be checked</param>
/// <returns>Returns the new processed string or NULL if null or empty string passed</returns>
public static string RemoveJsonNulls(this string str)
{
if (!str.IsEmptyOrNull())
{
Regex regex = new Regex(UtilityRegExp.JsonNullRegEx);
string data = regex.Replace(str, string.Empty);
regex = new Regex(UtilityRegExp.JsonNullArrayRegEx);
return regex.Replace(data, "[]");
}
return null;
}
/// <summary>
/// Serializes an objct to a Json string using Javascript Serializer and removes Json null objects if opted (Extention Method)
/// </summary>
/// <param name="arg">Object to serialize</param>
/// <param name="checknull">Set to true if you want remove null Json objects from serialized string, otherwise false(default)</param>
/// <returns>The serialized Json as string, if check null was set true then null Json strings are removed</returns>
public static string SerializeToJson(this object arg, bool checknull = false)
{
JavaScriptSerializer sr = new JavaScriptSerializer();
if (checknull)
{
return sr.Serialize(arg).RemoveJsonNulls();
}
return sr.Serialize(arg);
}
}
/// <summary>
/// <para>Contains the Regular Expression for use in Application</para>>
/// </summary>
/// <remarks>
/// Copyright: Copyright (c) 2010-2011 Samaj Shekhar
/// Last Update: 30-Dec-2010|04:22pm
/// </remarks>
public class UtilityRegExp
{
/// <summary>
/// <para>A Regular Expression to Match any null Json object in a string</para>
/// <para>like "Samaj_Shekhar":null,</para>
/// <para>Useful in removing nulls from serialized Json string</para>
/// </summary>
public static string JsonNullRegEx = "[\"][a-zA-Z0-9_]*[\"]:null[ ]*[,]?";
/// <summary>
/// <para>A Regular Expression to Match an array of null Json object in a string</para>
/// <para>like [null, null]</para>
/// <para>Useful in removing null array from serialized Json string</para>
/// </summary>
public static string JsonNullArrayRegEx = "\\[( *null *,? *)*]";
/// <summary>
/// <para>A Regular Expression to Match an Email Address</para>
/// <para>Useful in validating email addresses</para>
/// </summary>
public static string ValidEmailRegEx = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$";
}
}
Related examples in the same category