0

Json 문자열을 Strongly Typed 개체로 변환하려고합니다.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); 

그 일을 더 나은 방법을 제안 해주세요 .. ResultSet의 같은

+0

사용하는 직렬기를 모르지만 NUGET의 Netwonsoft.Json 라이브러리를 사용하는 것이 좋습니다. 당신의 예외는 무엇입니까? – MistyK

답변

2

당신이 별도의 클래스에서의 ResultSet을 캡슐에있는 JSON에서 별도의 회원입니다

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; –

+0

Hai,이 하나 이상의 래퍼 클래스를 피하는 방법 - ResultSetJson? 이 회원을 수업에 참여시키는 것을 피할 수 있습니까? –

+0

이것을 피하려면 JSON을 변경하고 추가 필드에 내용을 캡슐화하지 않아야합니다. –