2016-07-04 14 views
2

RestSharpを使用してJSON文字列を逆シリアル化しようとしています。しかし、私は "555111222"の周りのわずかに非標準的な構造に巻き込まれています。C#RestSharp - 標準以外のJSONを逆シリアル化する

数字555111222はデバイスのシリアル番号です。変更することができるため、JSONレスポンスに複数のシリアル番号が含まれることがあります。 Json2csharp.comは私のクラスでINVALID_TYPEエラーを処理する方法がわからない私に、次の

public class GpsData 
{ 
    public double longitude { get; set; } 
    public double latitude { get; set; } 
    public string time { get; set; } 
} 

public class __invalid_type__555111222 
{ 
    public List<GpsData> gps_data { get; set; } 
} 

public class Data 
{ 
    public __invalid_type__555111222 __invalid_name__555111222 { get; set; } 
} 

public class RootObject 
{ 
    public string requestid { get; set; } 
    public Data data { get; set; } 
} 

イムを与える

{ 
"requestid": "42", 
"data": { 
    "555111222": { 
     "gps_data": [ 
      { 
       "longitude": -73.952284, 
       "latitude": 40.755988, 
       "time": "2016-06-30 09:41:21" 
      }, 
      { 
       "longitude": -73.952284, 
       "latitude": 40.755988, 
       "time": "2016-06-30 09:41:22" 
      }, 
      { 
       "longitude": -73.952284, 
       "latitude": 40.755988, 
       "time": "2016-06-30 09:41:23" 
      } 
     ] 
    } 
    } 
} 

public class GpsData 
{ 
    public double longitude { get; set; } 
    public double latitude { get; set; } 
    public string time { get; set; } 
} 

public class GpsDataWrapper 
{ 
    public List<GpsData> gps_data { get; set; } 
} 

public class RootObject 
{ 
    public string requestid { get; set; } 
    public Dictionary<string, GpsDataWrapper> data { get; set; } 
} 

私は個人的に、その後使用するためにこれらのすべてを変換したい:

は​​がGpsDataプロパティを持つだけのクラスがどこにあるかそれはDictionary<string, GpsDataWrapper>する必要がありますあなたのDataプロパティと同じように私には見えます

+0

JSONレスポンスの異なるシリアル番号にアクセスする必要がありますか? – nozzleman

答えて

5

ありがとう.NETの命名規則とJSONで使用される名前を指定する属性を適用します。

+0

こんにちは。これは問題を解決しました。ありがとうございました – Mark

関連する問題