Imgur api cuộc gọi này trả về một danh sách có chứa cả Gallery Hình ảnh và Gallery Album lớp đại diện trong json.deserializing lớp json đa hình mà không cần loại thông tin sử dụng json.net
Tôi không thể xem cách tự động hóa các tự động này bằng cách sử dụng Json.NET cho rằng không có thuộc tính $ type nào nói với deserializer lớp nào được biểu diễn. Có một thuộc tính được gọi là "IsAlbum" có thể được sử dụng để phân biệt giữa hai.
This câu hỏi xuất hiện để hiển thị một phương pháp nhưng có vẻ như hơi bị hack.
Tôi làm cách nào để loại bỏ các lớp này? (sử dụng C#, Json.NET).
mẫu dữ liệu:
Gallery Hình ảnh
{
"id": "OUHDm",
"title": "My most recent drawing. Spent over 100 hours.",
...
"is_album": false
}
Gallery Album
{
"id": "lDRB2",
"title": "Imgur Office",
...
"is_album": true,
"images_count": 3,
"images": [
{
"id": "24nLu",
...
"link": "http://i.imgur.com/24nLu.jpg"
},
{
"id": "Ziz25",
...
"link": "http://i.imgur.com/Ziz25.jpg"
},
{
"id": "9tzW6",
...
"link": "http://i.imgur.com/9tzW6.jpg"
}
]
}
}
Bạn muốn lấy chuỗi Json và đặt nó vào lớp học? Và tôi đang bối rối bởi những gì bạn có nghĩa là bởi 'không có $ loại tài sản'. – gunr2171
Có, tôi có chuỗi json và muốn deserialize C# lớp học. Json.NET xuất hiện để sử dụng một thuộc tính được gọi là $ type để vẽ một sự phân biệt giữa các kiểu khác nhau được giữ trong một mảng. Dữ liệu này không có thuộc tính đó và chỉ sử dụng thuộc tính 'IsAlbum'. –