2017-10-13 10 views
2

私はこのJSONをしました:jsonを生成するときに無効な型ですか?

{ 
    "page": "36", 
    "bookmaker_urls": { 
     "13": [{ 
      "link": "http://www.bet365.com/home/?affiliate=365_179024", 
      "name": "Bet 365" 
     }] 
    }, 
    "block_service_id": "competition_summary_block_competitionmatchessummary", 
    "round_id": "36003", 
    "outgroup": "", 
    "view": "1", 
    "competition_id": "13" 
} 

私は、このツールでこれを挿入した:http://json2csharp.com/

はこれが返されます:

public class __invalid_type__13 
    { 
     public string link { get; set; } 
     public string name { get; set; } 
    } 

    public class BookmakerUrls 
    { 
     public List<__invalid_type__13> __invalid_name__13 { get; set; } 
    } 

    public class RootObject 
    { 
     public int page { get; set; } 
     public BookmakerUrls bookmaker_urls { get; set; } 
     public string block_service_id { get; set; } 
     public int round_id { get; set; } 
     public bool outgroup { get; set; } 
     public int view { get; set; } 
     public int competition_id { get; set; } 
    } 

無効なタイプがありますなぜですか?

答えて

4

13は.NETの有効なプロパティ名ではなく、使用しているツールは各JSONプロパティを.NET Classプロパティにマップしようとしているようです。

public class BookmakerUrl 
{ 
    public string link { get; set; } 
    public string name { get; set; } 
} 

public class RootObject 
{ 
    public int page { get; set; } 
    public Dictionary<string, List<BookmakerUrl>> bookmaker_urls { get; set; } 
    public string block_service_id { get; set; } 
    public int round_id { get; set; } 
    public bool outgroup { get; set; } 
    public int view { get; set; } 
    public int competition_id { get; set; } 
} 

あなたはおそらくしたいことは辞書であることをbookmaker_urlsです

0

ジェネレータは、Jsonのプロパティ名からプロパティとタイプの名前を生成します。

Jsonにはプロパティ「13」があります。数字で始まる名前は、C#では有効な名前ではありません。

ので、発電機は、単に生成された名前に接頭辞「invalid_name」または「INVALID_TYPE」を追加します。これは、問題があること、または生成されたコードを使用できないことを意味するものではありません。

関連する問題