Cách đọc giá trị của thuộc tính rain["3h"] trong json tải về từ openWeatherApi

1 mẫu Json từ OpenWeatherApi

...
"rain": {
    "3h": 0.376
}
...

Mình sử dụng Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherMessage>(). Mình không biết phải làm sao để miêu tả cái thuộc tính rain đó. Mình bị bí chỗ không biết phải làm sao để đọc cái thuộc tính 3h đó.

public class Rain
{
    public float 3h; ///Invalid token '3' in class, struct, or interface member declaration
}

Mong mọi người giúp đỡ.

Đúng y chang vấn đề của bạn luôn đây:

3 Likes

Do trong C# (và hầu hết các ngôn ngữ lập trình) quy định tên trường/thuộc tính không được bắt đầu bằng số.

Bạn dùng lớp JsonProperty để tham chiếu nó với thuộc tính cố định.

public class Rain
{
    [JsonProperty("3h")] // tên trong json
    public float H3 {get;set;} // tên bất kì
}
5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?