2017-02-09 7 views
-2

を扱うjson.net: https://raw.githubusercontent.com/VoiDGlitch/WarframeData/master/JSON/MissionDecks.json奇妙なフォーマット私はjson.netでこれを扱うことができるか

これらは、クラスのとおりです。その後、

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); 

しかし、私は、文字列を持って、 nullのテンポアイテム

私はその場所が表示されます参照してください:

1. "場所":ヌル
2. "場所":[文字列]
3. "場所":[ "文字列": "文字列"]

どのように私はこれを扱うことができますか?カスタムコンバータを使用していますか?

提案?

+1

[MCVE]を投稿してください。また、あなたは[tag:c#]を意味しましたか? '{ "場所":[ { "ネプチューン、INDEX": "耐久性MT_ARENA、FC_CORPUS、NT_SUB_MISSION" } ]}'この場所は –

+0

問題は、以下のものがライン261で開始しますオブジェクトであり、文字列ではありません。あなたはどのようにそれをデシリアライズしたいですか? – dbc

答えて

2

辞書から、あなたのベースクラスを継承してください:

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> 
{ 
} 
+0

これは感謝します:) – tuttomax

関連する問題