मैं अपनी वेबसाइट के लिए जेसन.Net का उपयोग कर रहा हूं। मैं serializer डिफ़ॉल्ट रूप से camelcase में संपत्ति के नाम serialize करना चाहता हूँ। मैं नहीं चाहता कि यह उन संपत्ति नामों को बदल दे जो मैं मैन्युअल रूप से असाइन करता हूं। मैं निम्नलिखित कोड है:केवल CamelCase अगर प्रॉपर्टीनाम स्पष्ट रूप से Json.Net में सेट नहीं है?
public class TestClass
{
public string NormalProperty { get; set; }
[JsonProperty(PropertyName = "CustomName")]
public string ConfiguredProperty { get; set; }
}
public void Experiment()
{
var data = new TestClass { NormalProperty = null,
ConfiguredProperty = null };
var result = JsonConvert.SerializeObject(data,
Formatting.None,
new JsonSerializerSettings {ContractResolver
= new CamelCasePropertyNamesContractResolver()}
);
Console.Write(result);
}
Experiment
से उत्पादन होता है:
{"normalProperty":null,"customName":null}
हालांकि, मैं उत्पादन होना चाहते हैं:
{"normalProperty":null,"CustomName":null}
इस लक्ष्य को हासिल करना संभव है?
'CamelCasePropertyNamesContractResolver' का उपयोग करें और केवल का उपयोग' JsonProperty' नहीं है। –
@ एल.बी. यदि मैं केवल जेसनप्रोपर्टी का उपयोग करता हूं, तो डिफ़ॉल्ट नामकरण पास्कलकेस होगा, इसलिए JSON में 'सामान्य प्रॉपर्टी' '' सामान्य प्रॉपर्टी 'होगी। – Oliver
ओलिवर नो, यह जेसनप्रोपर्टी में जो कुछ भी देता है, वैसे ही इसे क्रमबद्ध किया जाता है। –