Có cách nào để tuần tự hóa thuộc tính đối tượng Json thay đổi từ thập phân sang thập phân [] trong một thao tác đơn lẻ không?Nối tiếp thuộc tính Json đôi khi là một mảng
Trong các mục ưu đãi đặc biệt của nguồn cấp dữ liệu sản phẩm Json của tôi được trình bày dưới dạng mảng (giá thông thường/giá bán). Các mặt hàng bình thường chỉ là giá. Cũng giống như vậy:
[
{
"product" : "umbrella",
"price" : 10.50,
},
"product" : "chainsaw",
"price" : [
39.99,
20.0
]
}
]
Cách duy nhất tôi có thể lấy nó để làm việc là nếu tôi có tài sản một đối tượng như vậy:
public class Product
{
public string product { get; set; }
public object price { get; set; }
}
var productList = JsonConvert.DeserializeObject<List<Product>>(jsonArray);
Nhưng nếu tôi cố gắng để làm cho nó thập phân [] sau đó nó sẽ ném ngoại lệ trên một giá trị thập phân đơn. Làm cho nó trở thành một đối tượng có nghĩa là các giá trị mảng là một JArray vì vậy tôi phải làm một số công việc dọn dẹp sau đó và ánh xạ khác trong ứng dụng của tôi yêu cầu loại thuộc tính phải chính xác, vì vậy tôi phải ánh xạ nó tới một thuộc tính chưa được ánh xạ. không phải là vấn đề lớn nhưng hơi lộn xộn với việc đặt tên.
Đối tượng là tùy chọn duy nhất ở đây hoặc có một số phép thuật tôi có thể làm với bộ nối tiếp thêm giá trị đơn vào mảng hoặc giá trị thứ hai cho thuộc tính riêng biệt cho giá ưu đãi đặc biệt?
Thay vì sử dụng 'object' thử 'năng động 'ie' giá năng động công cộng {get; bộ; } ' –