Thuộc tính json động deserialize
Aug 20 2020
Tôi đang gặp khó khăn khi tìm cách giải mã json, có thuộc tính động (ví dụ: - UserRequest :: 567) tên thuộc tính có thể là bất kỳ giá trị nào và đối tượng UserRequest chứa các thuộc tính json khác mà tôi quan tâm.
Tôi mệt mỏi viết một lớp và tôi không biết phải làm gì với tài sản đó. Các phương pháp tốt nhất để đối phó với một vấn đề như thế này là gì?
{
"objects": {
"UserRequest::567": {
"code": 0,
"message": "created",
"class": "UserRequest",
"key": "567",
"fields": {
"ref": "R-000567",
"org_id": "4"
}
}
}
}
Câu hỏi đặt ra là các phương pháp hay nhất để đọc qua loại chuỗi json này là gì?
Cảm ơn bạn
Trả lời
1 janzen Aug 20 2020 at 23:23
Đối với Deserializeđiều này bằng cách sử dụng Newtonsoft.Json, đây là các lớp:
public class CreateRequest
{
public long code { get;set; }
public string message { get; set; }
[JsonProperty("class")]
public string class1 { get; set; }
public string key { get; set; }
public Fields fields { get; set; }
}
public class Fields
{
[JsonProperty("ref")]
public string refe { get; set; }
public string org_id { get; set; }
}
public class Root
{
public Dictionary<string, CreateRequest> objects { get; set; }
//The 'string' key in the dictionary is the 'UserRequest::567'
}
Sau đó để Deserializesử dụng:
var x = Newtonsoft.Json.JsonConvert.DeserializeObject<Root>(jsonObject).objects.Values;