मैं इसे json.net के साथ कैसे संभाल सकता हूं: https://raw.githubusercontent.com/VoiDGlitch/WarframeData/master/ JSON/MissionDecks.json
ये वर्ग हैं:
class TennoItem
{
public List<TennoData> Data { get; set; }
}
class TennoData
{
[JsonProperty("Locations")]
public string[] Locations { get; set; }
[JsonProperty("Rotation A")]
public string[] RotationA { get; set; }
[JsonProperty("Rotation B")]
public string[] RotationB { get; set; }
[JsonProperty("Rotation C")]
public List<string> RotationC { get; set; }
}
फिर
SERIALIZER.Deserialize<Dictionary<string,TennoItem>>(json_reader);
लेकिन मुझे स्ट्रिंग और अशक्त टेनोइटेम मिला
मैं देखता हूं कि स्थान हो सकते हैं:
1."स्थान" :शून्य
2. "स्थान": [स्ट्रिंग]
3. "स्थान": ["स्ट्रिंग": "स्ट्रिंग"]
इससे मैं किस तरह निपट सकता हूं? एक कस्टम कनवर्टर के साथ?
सुझाव?
1 उत्तर
अपनी बेस क्लास को डिक्शनरी से इनहेरिट करें:
class TennoItem : Dictionary<string, TennoData>
{
}
आपको सरणी के बजाय सूची का उपयोग करना चाहिए:
संपादित करें: dbc सही है, शुरुआत पंक्ति 261 स्थान एक वस्तु है। ऑब्जेक्ट प्रकार का उपयोग करने का प्रयास करें:
class TennoData
{
[JsonProperty("Locations")]
public List<object> Locations { get; set; }
[JsonProperty("Rotation A")]
public List<string> RotationA { get; set; }
[JsonProperty("Rotation B")]
public List<string> RotationB { get; set; }
[JsonProperty("Rotation C")]
public List<string> RotationC { get; set; }
}
और फिर:
SERIALIZER.Deserialize<TennoItem>(json_reader);
स्थान को शब्दकोश ऑब्जेक्ट बनाने के लिए या कोशिश करें:
class TennoData
{
[JsonProperty("Locations")]
public List<Location> Locations { get; set; }
[JsonProperty("Rotation A")]
public List<string> RotationA { get; set; }
[JsonProperty("Rotation B")]
public List<string> RotationB { get; set; }
[JsonProperty("Rotation C")]
public List<string> RotationC { get; set; }
}
class Location : Dictionary<string, string>
{
}
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।
{ "Locations": [ { "Neptune, THE INDEX": "ENDURANCE, MT_ARENA, FC_CORPUS, NT_SUB_MISSION" } ]}
यह स्थान एक वस्तु है, स्ट्रिंग नहीं। आप इसे कैसे डिसेरिएलाइज़ करना चाहते हैं?