2012-03-02 3 views
0

다음은 JSON의 :JSON.NET 비 직렬화 - 클래스를 알아낼 수 없습니까?

{ 
    "status": "live", 
    "responses": 10, 
    "questions": { 
    "ZuGnqOpd3w": { 
     "title": "Sample Title", 
     "type": "threed-grid", 
     "id": "ZuGnqOpd3w", 
     "label": "Sample Label." 
     } 
    } 
} 

그리고 클래스;

Public Class Survey 
    Public Property status As String 

    Public Property responses As Integer 

    Public Property questions() As jQuestion() 

End Class 

Public Class jQuestion 
    Public Property Title as String 
    ...... 
End Class 

나는 다음과 같은 오류를 역 직렬화 할

: 유형 'jQuestion []'로 JSON 객체를 직렬화 할 수 없습니다.

누군가 내 수업을 올바르게 구성 할 수 있습니까?

답변

0

비록 json.net에 익숙하지 않지만, 여러분의 클래스에 따라 json 오브젝트가 잘못 포맷 된 것 같습니다. Questions 배열을하기 때문에, json의 값은 대괄호 [] 미래에 당신이 역 직렬화하려고하는 json 형식의 유효성을 검사 할 때, 당신은 .NET에서 객체를 생성하여 부정 행위를 한 후 볼 수 있었다에서

{ 
    "status": "live", 
    "responses": 10, 
    "questions": [ 
     { 
     "title": "Sample Title", 
     "type": "threed-grid", 
     "id": "ZuGnqOpd3w", 
     "label": "Sample Label." 
     }, 
     { 
     "title": "Sample Title 2", 
     "type": "threed-grid 2", 
     "id": "ZuGnqOpd3w 2", 
     "label": "Sample Label. 2" 
     } 
    ] 
} 

에 묶어야한다 json.net을 사용하여 직렬화 할 때의 모습.

+0

응답 해 주셔서 감사합니다. 온라인 조사 공급자의 JSON 응답을 deserialize하고 있으므로 불행히도 JSON 구조가 제어되지 않습니다. – Tom

+0

@Tom 죄송합니다. OOB 방식을 잘 모르겠습니다. 'questions' 배열은 대괄호로 표시되어 있지 않으므로 수동 프로세스에서 적절한'json' 포맷으로 가져와야한다고 생각합니다. 나는 당신이 해결책을 끝내는 것을 알기에 흥미가있을 것입니다. 건배! – Craig

관련 문제