मैं इसे 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. "स्थान": ["स्ट्रिंग": "स्ट्रिंग"]

इससे मैं किस तरह निपट सकता हूं? एक कस्टम कनवर्टर के साथ?

सुझाव?

-2
tuttomax 9 फरवरी 2017, 23:29
1
कृपया एक न्यूनतम प्रतिलिपि प्रस्तुत करने योग्य उदाहरण पोस्ट करें। साथ ही, क्या आपका मतलब c# से था?
 – 
Vittorio Romeo
9 फरवरी 2017, 23:31
समस्या पंक्ति 261 से शुरू होती है, जहाँ आपके पास निम्नलिखित हैं: { "Locations": [ { "Neptune, THE INDEX": "ENDURANCE, MT_ARENA, FC_CORPUS, NT_SUB_MISSION" } ]} यह स्थान एक वस्तु है, स्ट्रिंग नहीं। आप इसे कैसे डिसेरिएलाइज़ करना चाहते हैं?
 – 
dbc
10 फरवरी 2017, 02:28

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>
{
}
2
Hanane Moshe 10 फरवरी 2017, 03:25