2017-08-18 14 views
1

私はRouteXLとの接続を試みますが、API応答ではおそらく無効なjsonを取得します。Strange Json deserialize

タグルートから、文字列インデックスで始まる並べ替えを送信します。通常これをクラス(http://json2csharp.com)に変換しますが、このjsonでは文字列インデックスのために無効なクラス構造を取得します。

私は自分で分割する前に。あなたたちはもっと良い解決策を持っていますか?よろしく、

SirNirido

JSONで

{ 
    "id": "6VTa8zH8", 
    "count":5, 
    "feasible":true, 
    "route": { 
     "0": { "name": "StartLocatie", "arrival":0, "distance":0}, 
     "1": { "name": "58", "arrival":28, "distance":47.7}, 
     "2": { "name": "57", "arrival":42, "distance":65.3}, 
     "3": { "name": "56", "arrival":47, "distance":68.5}, 
     "4": { "name": "StartLocatie", "arrival":61, "distance":87.1}}} 
+1

[LINQ Json.netとJSONへ](https://www.newtonsoft.com/json/help/html/LINQtoJSON.htm)? – crashmstr

+0

これは有効なjsonです – Hackerman

+2

'route'部分を' Dictionary 'または' Dictionary 'にデシリアライズしてみてください。私はこれがどこか重複していると確信しています... –

答えて

0

おかげで、それは魔法のように動作@JonSkeet。

Googleにとっては難しいことです。誰もが今までここにsameproblemを持っている場合でも、私の新しいクラス・スキーマである

class Results 
    { 
     public string id { get; set; } 
     public int count { get; set; } 
     public bool feasible { get; set; } 
     public Dictionary<string, RouteResult> route { get; set; } 
    } 
    public class RouteResult 
    { 
     public string index { get; set; } 
     public string name { get; set; } 
     public int arrival { get; set; } 
     public double distance { get; set; } 
    } 
関連する問題