1

我写了一个 asp.net MVC 控制器

我将 JSON 作为对操作的响应发送到客户端。

{ A : "bla", B: "bla2"}

如何根据其价值的存在使字段 B 暂定

含义:像服务器对象

{ A : "bla", B:  null}

将作为

{ A : "bla"}
4

1 回答 1

1

此链接可能有帮助http://ftp.java2s.com/Code/CSharp/Network/RemovesJsonnullobjectsfromtheserializedstringandreturnanewstringExtentionMethod.htm

基本上,您将 c# 对象序列化为 json,然后您可以使用正则表达式查找所有具有 null 值的属性并将其删除

编辑:

您可以像这样在字符串上使用扩展方法

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;
    }

public static string JsonNullRegEx = "[\"][a-zA-Z0-9_]*[\"]:null[ ]*[,]?";

public static string JsonNullArrayRegEx = "\\[( *null *,? *)*]";
于 2012-11-14T10:28:06.140 回答