0

我试图将Json字符串转换为强类型对象。将JSON字符串转换为C中的强类型类对象#

JSON字符串:

{   "ResultSet": { "Description": "ADS Loading Complet - Service request failed", 
"failedReason": "ORA-06550: line 1, column 36:\nPLS-00302: component 'SP_GET_LOADING_END_DATE1' must  be declared\nORA-06550: line 1, column 7:\nPL/SQL: Statement ignored", 
"isSuccess": false, 
"statusCode": 400 
} 

类:

public class ResultSet 
{ 
    [DataMember] 
    public bool isSuccess { get; set; } 
    [DataMember] 
    public string failedReason { get; set; } 
    [DataMember] 
    public System.Net.HttpStatusCode statusCode { get; set; } 
    [DataMember] 
    public string Description { get; set; } 
} 

我试过,但没有运气。

ResultSet resultSet = new ResultSet(); 
resultSet = json_serializer.Deserialize<ResultSet>(jsonString); 

请建议这样做的更好的办法..

+0

我不知道你使用了哪个序列化器,但我建议你使用NUGET的Netwonsoft.Json库。你的例外是什么? – MistyK 2014-09-29 09:19:22

回答

2

ResultSet是JSON一个额外的成员,你必须封装ResultSet中的一个额外的类

public class ResultSetJson 
{ 
    public ResultSet ResultSet { get; set; } 
} 

ResultSet resultSet = json_serializer.Deserialize<ResultSetJson>(jsonString).ResultSet; 

ResultSetJson resultSetJson = json_serializer.Deserialize<ResultSetJson>(jsonString); 
ResultSet resultSet = resultSetJson.ResultSet; 
+0

这对我的作品感谢..我使用JavaScriptSerializer ResultSet resultSet = json_serializer.Deserialize (jsonString).ResultSet; – 2014-09-29 09:30:03

+0

Hai,如何避免这一个更多的包装类 - ResultSetJson?。有没有可能避免在课堂上使用这个成员? – 2014-09-29 09:40:20

+0

当你想要避免这种情况时,你必须改变你的JSON,并且不要将这些内容封装在额外的域中 – 2014-09-29 10:25:07