2014-07-09 4 views
3

저는 Newtonsoft Json.NET API를 사용하여 JSON 응답을 구문 분석합니다.동적 JSON 응답의 비 직렬화

나는 JSON 다음에 봉착 :

{ 
    "country" : "DE", 
    "external_urls": 
    { 
     "spotify" : "https://open.spotify.com/user/123", 
     "another" : "https://open.spotify.com/user/1232" 
    } 
} 

모두 키가 "또 다른"이름이 다음 reponse로 변경 될 수 있습니다 의미하는 동적 "스포티 파이"와. 키 -를 역 직렬화하는

public class FullProfileResponse 
{ 
    [JsonProperty("country")] 
    public String Country { get; set; } 
    [JsonProperty("external_urls")] 
    public ExternalUrls ExternalUrls { get; set; } 
} 
public class ExternalUrls 
{ 
    public String Key { get; set; } 
    public String Value { get; set; } 
} 

은 어떻게 얻을 것 Json.NET : 또한 고정 된 아이폰에 항상 "external_urls"다음 개체로 구문 분석하려고

에 더 많거나 적은 항목이 될 수 없다 이름이 public String Key입니까? 그래서 Key = "spotify"Key = "another"

있을 것입니다 그리고 목록이나는 IEnumerable을 사용해야합니다,하지만 어떻게 항상 할 수는 크기를 변경하고 배열 아닌 동적 오브젝트가 있다면?

답변

2

선언 ExternalUrls

[JsonProperty("external_urls")] 
public Dictionary<string,string> ExternalUrls { get; set; } 
으로