thắc mắc [C#] Parse Json sang Object sao không được

FaithHope

Đã tốn tiền
Mấy thím cho hỏi làm sao để map mớ trong rates sang object nhỉ.
1635787769268.png


Em có tạo model như sau:

C#:
class APIRate
{
    string Success {get; set;}
    string Timestamp {get; set;}
    string Base {get; set;}
    DateTime Duccess {get; set;}
    IEnumarable<RateListing> Rates {get; set;}
}

class RateListing
{
    string Key {get; set;}
    decimal Value {get; set;}
}

Nhưng tới lúc map toàn báo lỗi khi map cho mớ trong rates kia :sweat:.

Nó throw exception như thế này:

Newtonsoft.Json.JsonSerializationException: 'Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IEnumerable`1[GUI.API.Models.RateListing]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
E đọc thì hiểu đấy nhưng mà không biết làm sao để giải quyết được vấn đề trên :((

//////
À thôi tự tìm ra rồi :surrender:, ngồi mò cả tiếng không ra, vừa post hỏi cái ra luôn :sweat:.
Solution là thay cái
C#:
IEnumarable<RateListing> Rates {get; set;}
thành
C#:
Dictionary<string, decimal> Rates {get; set;}
 
Last edited:
À thôi tự tìm ra rồi :surrender:, ngồi mò cả tiếng không ra, vừa post hỏi cái ra luôn :sweat:.
Solution là thay cái
C#:
IEnumarable<RateListing> Rates {get; set;}
thành
C#:
Dictionary<string, decimal> Rates {get; set;}


//////
Mấy thím cho hỏi làm sao để map mớ trong rates sang object nhỉ.
View attachment 845414

Em có tạo model như sau:

C#:
class APIRate
{
    string Success {get; set;}
    string Timestamp {get; set;}
    string Base {get; set;}
    DateTime Duccess {get; set;}
    IEnumarable<RateListing> Rates {get; set;}
}

class RateListing
{
    string Key {get; set;}
    decimal Value {get; set;}
}

Nhưng tới lúc map toàn báo lỗi khi map cho mớ trong rates kia :sweat:.

Nó throw exception như thế này:


E đọc thì hiểu đấy nhưng mà không biết làm sao để giải quyết được vấn đề trên :((
Cái rates kia sửa thành mảng xem. IEnumarable<RateListing> là mảng phải không.
 
Back
Top