Classe Helper per gestire nella serializzazione di un oggetto in formato json l'eliminazione di eventuali campi nulli
1: public static class JsonHelper
2: {
3: public static bool IsEmptyOrNull(this string str)
4: {
5: if (str == null || str == string.Empty)
6: {
7: return true;
8: }
9: return false;
10: }
11:
12: public static string RemoveJsonNulls(this string str)
13: {
14: if (!str.IsEmptyOrNull())
15: {
16: Regex regex = new Regex(UtilityRegExp.JsonNullRegEx);
17: string data = regex.Replace(str, string.Empty);
18: regex = new Regex(UtilityRegExp.JsonNullArrayRegEx);
19: return regex.Replace(data, "[]");
20: }
21: return null;
22: }
23:
24: public static string SerializeToJson(this object arg, bool checknull = false)
25: {
26: JavaScriptSerializer sr = new JavaScriptSerializer();
27: if (checknull)
28: {
29: return sr.Serialize(arg).RemoveJsonNulls();
30: }
31: return sr.Serialize(arg);
32: }
33:
34: }
35:
36:
37: public class UtilityRegExp
38: {
39: public static string JsonNullRegEx = "[\"][a-zA-Z0-9_]*[\"]:null[ ]*[,]?";
40: public static string JsonNullArrayRegEx = "\\[( *null *,? *)*]";
41: }
posted @ venerdì 23 marzo 2012 13:02