asp.net MVC コントローラーを作成します
アクションへの応答として JSON をクライアントに送信します。
{ A : "bla", B: "bla2"}
その値の存在に基づいてフィールド B を暫定的にするにはどうすればよいですか
意味: のようなサーバー オブジェクト
{ A : "bla", B: null}
として送信されます
{ A : "bla"}
このリンクは、 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 *,? *)*]";