Tôi có JSON này:
[
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 1",
"Values": [
"Acc 1"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "1",
"Values": [
"1"
]
}
}
],
"Name": "account",
"Id": "1"
},
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 2",
"Values": [
"Acc 2"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "2",
"Values": [
"2"
]
}
}
],
"Name": "account",
"Id": "2"
},
{
"Attributes": [
{
"Key": "Name",
"Value": {
"Value": "Acc 3",
"Values": [
"Acc 3"
]
}
},
{
"Key": "Id",
"Value": {
"Value": "3",
"Values": [
"3"
]
}
}
],
"Name": "account",
"Id": "2"
}
]
Và tôi có những lớp học này:
public class RetrieveMultipleResponse
{
public List<Attribute> Attributes { get; set; }
public string Name { get; set; }
public string Id { get; set; }
}
public class Value
{
[JsonProperty("Value")]
public string value { get; set; }
public List<string> Values { get; set; }
}
public class Attribute
{
public string Key { get; set; }
public Value Value { get; set; }
}
Tôi đang cố gắng giải mã JSON ở trên bằng cách sử dụng mã bên dưới:
var objResponse1 = JsonConvert.DeserializeObject<RetrieveMultipleResponse>(JsonStr);
nhưng tôi gặp lỗi này:
Không thể giải không khí mảng JSON hiện tại (ví dụ: [1,2,3]) thành kiểu 'test.Model.RetrieveMultipleResponse' vì kiểu này yêu cầu một đối tượng JSON (ví dụ: {"name": "value"}) để giải không chính xác. Để khắc phục lỗi này, hãy thay đổi JSON thành một đối tượng JSON (ví dụ: {"name": "value"}) hoặc thay đổi kiểu deserialized thành mảng hoặc kiểu triển khai giao diện bộ sưu tập (ví dụ: ICollection, IList) như List có thể được deserialized khỏi một mảng JSON. JsonArrayAttribute cũng có thể được thêm vào kiểu để buộc nó giải không khí khỏi một mảng JSON. Đường dẫn '', dòng 1, vị trí 1.