2012-05-04 17 views
1

私はCitrixのWebサービスからJSON応答を解析しています。応答は私が手動で識別情報を削除するには、その文字列を編集し、このJSONの応答を解析するJavaScriptDeserializer例外

[{\"webinarKey\":123456,\"subject\":\"Subject\",\"description\":\"Webinar Description. \",\"organizerKey\":123456,\"times\":[{\"startTime\":\"2012-05-08T16:00:00Z\",\"endTime\":\"2012-05-08T17:00:00Z\"}],\"timeZone\":\"America/New_York\"}] 

のように見えるので、不足している引用符か何かがあるかどうかは無関係です。

私はこの回答の例に従っていますが、依然としてエラーが発生しています。

Deserializing JSON result with Json & JavaScriptSerializer

public class Webinars { 
    public string webinarKey; 
    public string subject; 
    public string description; 
    public string organizerKey; 
    public WebinarTimes[] times; 
    public string timeZone; 
} 

public class WebinarTimes { 
    public string startTime; 
    public string endTime; 
} 

JavaScriptSerializer jss = new JavaScriptSerializer(); 
var foo = jss.Deserialize<Webinars>(JSON); 

私は、次のエラーが表示されますType 'Web.Site.Webinars' is not supported for deserialization of an array.

+0

の代わりにIList<Webinars>を使用する必要があり、私は間違っていないよ場合は、jss.Deserializeを使用する必要があります>(JSON) –

+0

@ClaudioRedi - 確かに、最初のエラーを解決しました。エラーは 'WebinarTimesは配列の逆シリアル化ではサポートされていません。 ' – mrtsherman

+0

@ClaudioRedi - あなたが回答として投稿した場合、私は受け入れます。 'WebinarTimes'を配列として含めるように' Webinars'を修正しなければなりませんでした。 – mrtsherman

答えて

2

あなたはWebinars

var foo = jss.Deserialize<IList<Webinars>>(JSON); 
関連する問題