मैंने एक ASP.Net WEB API प्रोजेक्ट बनाया है जिसका उपयोग मोबाइल एप्लिकेशन द्वारा किया जाएगा। मुझे बदले में उन्हें वापस करने के बजाय अशक्त गुणों को छोड़ने के लिए जवाबी कार्रवाई की आवश्यकता है property: null
।
मैं यह कैसे कर सकता हूँ?
मैंने एक ASP.Net WEB API प्रोजेक्ट बनाया है जिसका उपयोग मोबाइल एप्लिकेशन द्वारा किया जाएगा। मुझे बदले में उन्हें वापस करने के बजाय अशक्त गुणों को छोड़ने के लिए जवाबी कार्रवाई की आवश्यकता है property: null
।
मैं यह कैसे कर सकता हूँ?
जवाबों:
में WebApiConfig
:
config.Formatters.JsonFormatter.SerializerSettings =
new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
या, यदि आप अधिक नियंत्रण चाहते हैं, तो आप पूरे फ़ॉर्मेटर को बदल सकते हैं:
var jsonformatter = new JsonMediaTypeFormatter
{
SerializerSettings =
{
NullValueHandling = NullValueHandling.Ignore
}
};
config.Formatters.RemoveAt(0);
config.Formatters.Insert(0, jsonformatter);
config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore
- यह बिना किसी अन्य json क्रमांकन सेटिंग्स (गुणों के पहले अक्षर पर निचले मामले का उपयोग करके) को रीसेट किए बिना अशक्त मान को अद्यतन करेगा
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
:।
ASP.NET कोर 3.0 के लिए, कोड ConfigureServices()
में विधि Startup.cs
शामिल होनी चाहिए:
services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.IgnoreNullValues = true;
});
यदि आप vnext का उपयोग कर रहे हैं, vnext web api परियोजनाओं में, इस कोड को startup.cs फ़ाइल में जोड़ें।
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().Configure<MvcOptions>(options =>
{
int position = options.OutputFormatters.FindIndex(f => f.Instance is JsonOutputFormatter);
var settings = new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore
};
var formatter = new JsonOutputFormatter();
formatter.SerializerSettings = settings;
options.OutputFormatters.Insert(position, formatter);
});
}
आप भी उपयोग कर सकते हैं [DataContract]
और [DataMember(EmitDefaultValue=false)]
विशेषताएँ