2015-12-12 3 views
1

я wnat для преобразования данных в формате JSON в model.i пытались сериализации путем создания класса, но я получаю сообщение об ошибке при десериализациипреобразования JSON данные сильно типизированных

мои данные JSon

[{"Name":"Group1","Fields":[{"Field":"EmployeeSCP.Salary","Operator":"lt","Value":"50000","$$hashKey":"object:485"}],"Condition":"0"}, 
{"Name":"Group2","Fields":[{"Field":"EmployeeSCP.Salary","Operator":"gt","Value":"20000","$$hashKey":"object:495"}],"Condition":"0"}, 
{"groupCondition":"0"}] 

модель

public class ValidationModelData 


{ 
public string Name { get; set; } 
public List<FieldsData> Fields { get; set; } 
public string Condition { get; set; } 
public string groupCondition { get; set; } 
} 


public class FieldsData 
{ 
public string Field { get; set; } 
public string Operator { get; set; } 
public string Value { get; set; } 
} 

, но я получаю ошибку десериализации

ValidationModelData validations = JsonConvert.DeserializeObject<ValidationModelData>(validation.JsonMetaData); 
+0

http://stackoverflow.com/questions/2246694/how-to-convert-json-object-to-custom-c-sharp-object это один может быть полезным. –

ответ

0

Я подозревал, что вы упускаете из виду, что это массив. Таким образом, вы можете поместить их в массив или список, как так

ValidationModelData[] validations = JsonConvert.DeserializeObject<ValidationModelData[]>(validation.JsonMetaData); 
0

Вы преобразования JSON массив в C# объекта. Вы должны использовать массив или список. Я предпочитаю List over array, потому что если вы хотите добавить/удалить ValidationModelData, то размер массивов будет дорогостоящим.

List<ValidationModelData> validations = JsonConvert.DeserializeObject<List<ValidationModelData>>(validation.JsonMetaData); 
Смежные вопросы