मेरे पास कुछ स्वत: जेनरेटेड एक्सएमएल हैं जहां एक्सएमएल के कुछ हिस्सों में कई पंक्तियां हो सकती हैं और कुछ नहीं हो सकती हैं। नतीजा यह है कि यदि एक पंक्ति है तो एक जेसन नोड वापस कर दिया जाता है और यदि मेरे पास एकाधिक पंक्तियां हैं तो जेसन नोड्स के साथ एक सरणी लौटा दी जाती है।JSON.Net एक्सएमएल सीरियलाइजेशन एरर
xmls इस
<List>
<Content>
<Row Index="0">
<Title>Testing</Title>
<PercentComplete>0</PercentComplete>
<DueDate/>
<StartDate/>
</Row>
</Content>
</List>
या साथ एकाधिक पंक्तियों की तरह लग सकता है
<List>
<Content>
<Row Index="0">
<Title>Update Documentation</Title>
<PercentComplete>0.5</PercentComplete>
<DueDate>2013-01-31 00:00:00</DueDate>
<StartDate>2013-01-01 00:00:00</StartDate>
</Row>
<Row Index="1">
<Title>Write jQuery example</Title>
<PercentComplete>0.05</PercentComplete>
<DueDate>2013-06-30 00:00:00</DueDate>
<StartDate>2013-01-02 00:00:00</StartDate>
</Row>
</Content>
</List>
जब JSON करने के लिए इन serializing पहले एक्सएमएल इस
हो जाता हैJsonConvert.SerializeXmlNode(xmldoc, Formatting.Indented);
का उपयोग कर
और दूसरा यह
{
"List": {
"Content": {
"Row": [{
"@Index": "0",
"Title": "Update Documentation",
"PercentComplete": "0.5",
"DueDate": "2013-01-31 00:00:00",
"StartDate": "2013-01-01 00:00:00"
}, {
"@Index": "1",
"Title": "Write jQuery example",
"PercentComplete": "0.05",
"DueDate": "2013-06-30 00:00:00",
"StartDate": "2013-01-02 00:00:00"
}]
}
}
}
के रूप में स्पष्ट रूप से एक दूसरे पर पंक्ति देखा जा सकता है एक सरणी के रूप में होना चाहिए, लेकिन पहले एक पर नहीं है। क्या इस तरह के मुद्दों पर कोई ज्ञात कामकाज है या क्या मुझे JSON प्राप्त करने वाले मेरे अग्रभाग में चेक को लागू करने की आवश्यकता है (संरचनाएं बहुत गतिशील हैं क्योंकि यह थोड़ा समस्याग्रस्त होगा)। सबसे अच्छा तरीका होगा अगर json.net को हमेशा सरणी वापस करने के लिए लागू करने का कोई तरीका है।
मैं एक ही समस्या पाया कृपया एक और soluntion (लगता है अगर XDocument.Parse (" 5,00 21,00 45.00 |
") .Descendants (" पंक्ति ")। गणना()> 1) { } अगर (XDocument.Parse (" 1,00 5,00 45,00 |
6,00 10,00 65,00 |
11,00 100,00 98.00 |
") .Descendants (" पंक्ति ")। गणना()> 1) { } –
pratik1020