Với json sau:Deserialize mảng các cặp giá trị key sử dụng Json.NET
[ {"id":"123", ... "data":[{"key1":"val1"}, {"key2":"val2"}], ...}, ... ]
là một phần của một cái cây lớn, làm thế nào tôi có thể deserialize các "dữ liệu" bất động sản thành:
List<MyCustomClass> Data { get; set; }
hoặc
List<KeyValuePair> Data { get; set; }
hoặc
Dictionary<string, string> Data { get; set; }
sử dụng Json.NET? Hoặc là phiên bản sẽ làm (tôi thích Danh sách MyCustomClass mặc dù). Tôi đã có một lớp có chứa các thuộc tính khác, như sau:
public class SomeData
{
[JsonProperty("_id")]
public string Id { get; set; }
...
public List<MyCustomClass> Data { get; set; }
}
trong đó "MyCustomClass" chỉ bao gồm hai thuộc tính (Khóa và giá trị). Tôi nhận thấy có một lớp KeyValuePairConverter có vẻ như nó sẽ làm những gì tôi cần, nhưng tôi đã không thể tìm thấy một ví dụ về cách sử dụng nó. Cảm ơn.
Danh sách các từ điển công trình; cảm ơn vì điều đó. Kể từ khi thay đổi tôi đang cố gắng thực hiện là một phần của một thư viện lớn hơn tôi đang cố gắng tránh phải viết khởi tạo đối tượng tùy chỉnh. Tôi đang tìm kiếm bằng văn bản một công cụ chuyển đổi tùy chỉnh cho lớp của tôi (SomeData2 trong ví dụ của bạn). Nếu tôi không thể làm cho nó hoạt động thì tôi sẽ sử dụng phương pháp Danh sách Từ điển của bạn. Cảm ơn. – pbz
Cảm ơn rất nhiều vì câu trả lời này. Tôi đã có cùng một loại json với mảng với giá trị quan trọng. Tôi chỉ sử dụng IEnumerable công cộng> Data {get; bộ; } cho lĩnh vực đó và làm việc như quyến rũ .. toàn bộ json của tôi đã được phân tích tốt! .. –
maths