Ho questo JSON:
[
{
"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"
}
]
E ho queste classi:
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; }
}
Sto cercando di deserializzare il JSON sopra utilizzando il codice seguente:
var objResponse1 = JsonConvert.DeserializeObject<RetrieveMultipleResponse>(JsonStr);
ma ricevo questo errore:
Impossibile deserializzare l'array JSON corrente (ad es. [1,2,3]) nel tipo 'test.Model.RetrieveMultipleResponse' perché il tipo richiede un oggetto JSON (ad es. {"Name": "value"}) per deserializzare correttamente. Per correggere questo errore, modificare il JSON in un oggetto JSON (ad esempio {"name": "value"}) o modificare il tipo deserializzato in un array o un tipo che implementa un'interfaccia di raccolta (ad esempio ICollection, IList) come List che può essere deserializzato da un array JSON. JsonArrayAttribute può anche essere aggiunto al tipo per forzarne la deserializzazione da una matrice JSON. Path '', riga 1, posizione 1.