আমি একটি এএসপি. নেট ওয়েব এপিআই প্রকল্প তৈরি করেছি যা একটি মোবাইল অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হবে। নাল বৈশিষ্ট্যগুলি সেগুলি হিসাবে ফিরিয়ে দেওয়ার পরিবর্তে বাদ দিতে আমার প্রতিক্রিয়া জেএসন দরকার property: null
।
কিভাবে আমি এটি করতে পারব?
আমি একটি এএসপি. নেট ওয়েব এপিআই প্রকল্প তৈরি করেছি যা একটি মোবাইল অ্যাপ্লিকেশন দ্বারা ব্যবহৃত হবে। নাল বৈশিষ্ট্যগুলি সেগুলি হিসাবে ফিরিয়ে দেওয়ার পরিবর্তে বাদ দিতে আমার প্রতিক্রিয়া জেএসন দরকার 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
- এটি অন্য কোনও জসন সিরিয়ালাইজেশন সেটিংস পুনরায় সেট না করে (বৈশিষ্ট্যের প্রথম অক্ষরে লোয়ার কেস ব্যবহার করার মত) নাল মান হ্যান্ডলিং আপডেট করবে
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
।
এএসপি.নেট কোর 3.0 এর জন্য কোডের ConfigureServices()
পদ্ধতিতে Startup.cs
থাকা উচিত:
services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.IgnoreNullValues = true;
});
আপনি যদি vnext ব্যবহার করছেন, vnext ওয়েব এপিআই প্রকল্পগুলিতে, এই কোডটি 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)]
গুণাবলী করতে পারেন