2015-12-12 88 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);