अपने XML डेटा का एक मॉडल
उदाहरण बनाने
public class MyClass
{
[JsonProperty("@SomeXMLProperty")]
public string MyString{ get; set; }
}
फिर अपने मॉडल
XDocument xmlDocument = XDocument.Parse(xmlData);
string jsonData = JsonConvert.SerializeXNode(xmlDocument);
var myClass = JsonConvert.DeserializeObject<MyClass>(jsonData);
पर XML को deserialize करें
तो बस CamelCasePropertyNamesContractResolver का उपयोग करें और Formatting.Indented
string json = JsonConvert.SerializeObject(rootObject,
Newtonsoft.Json.Formatting.Indented,
new JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() });
अद्यतन:
पहला समाधान सरल और साफ यह सिर्फ के लिए है (कस्टम रिसोल्वर आदि लिखने के लिए कोई ज़रूरत नहीं है) @ साइन
var xml = new XmlDocument();
xml.XmlResolver = null;
xml.Load("yourfilehere");
var json = JsonConvert.SerializeXmlNode(xml, Newtonsoft.Json.Formatting.Indented);
var withoutATSign = System.Text.RegularExpressions.Regex.Replace(json, "(?<=\")(@)(?!.*\":\\s)", String.Empty, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
यदि कोई व्यक्ति जानता है दोनों मामलों के लिए टटर समाधान तो पहले इसे देखना अच्छा लगेगा।
वेबएपीआई अलावा
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
स्रोत
2013-03-05 23:24:14
आप तो क्रमानुसार करने उसके बाद फिर से क्रमानुसार deserialize कह रहे हैं? – Homer
हां पहला समाधान सबसे साफ है। क्या आप शायद वेबएपीआई का उपयोग कर रहे हैं और ऊंट के मामले की आवश्यकता है? यदि ऐसा है, तो यह केवल दो लाइनें है। –