2015-04-06 3 views
0

Я использую ссылку запроса для получения проектов пользователя. Он возвращает много следующего:Имя свойства API Behance - номер

{ 
id: 123456, 
name: "Deneme 2", 
published_on: 1427213730, 
created_on: 1427213604, 
modified_on: 1427213730, 
url: "https://www.behance.net/gallery/123456/trial-2", 
privacy: "public", 
fields: [ 
"Film" 
], 
covers: { 
115: "abc.com/xyz.jpg", 
202: "abc.com/xyz.jpg", 
230: "abc.com/xyz.jpg", 
404: "abc.com/xyz.jpg" 
}} 

covers но и images массивы являются проблематичными. Их имена являются числовыми, и когда я использую Json.Net для десериализации их для класса, который идентичен полям возвращаемой строки JSON, возникает проблема, поскольку имена свойств не могут быть числовыми в классах C#, и когда я меняю имена к буквенно-цифровым (например, BehanceImg_138, а не только 138), на этот раз Json.Net не может соответствовать полю в строке JSON, а BehanceImg_138 становится нулевым, хотя в строке JSON он не является нулевым. Как я могу решить эту проблему?

+0

Предоставление ссылки, содержащей ваш персональный ключ API, не считается хорошей практикой. Удалите ссылку и включите JSON в свой вопрос. –

+0

Ладно, не знал этого, спасибо. –

ответ

1

К свойствам класса можно добавить атрибут JsonProperty. Пример:

public class BehanceData 
{ 
    [JsonProperty("115")] 
    public string _115 { get; set; } 
} 
+0

О, Боже, ты спасатель! Спасибо за вашу большую помощь, это сработало как шарм. –