2010-12-31 8 views
0

私は、フィールドをデシリアライズしようとしています:デシリアライズJSON、時々値が配列である、時々「」(空白文字列)

"presenters":[{...},{...}] 

が、行の一部だけで戻ってくる:

"presenters":"" 

シリアライザは、私が手にその空の文字列と行になります:

「System.Collections.Generic.List`1を入力して「」値を変換エラー[DataPrototype.M odel.Presenter] 'と表示されます。

私は空の文字列を空のリストに変更するJsonConverterが必要だと思っていますか?

+2

単に、精神分裂病のデータを最初に取得しなかった方が良いでしょう。 –

+0

[JSONのデシリアライズは、時には配列とときどきオブジェクトを分離する]可能性があります(http://stackoverflow.com/questions/5224697/deserializing-json-when-sometimes-array-and-sometimes-object) –

答えて

3

はい。

JsonConverter内部で、JsonReaderのトークンタイプをテストします。

文字列の場合はnullを返します。

配列の開始点である場合は、コンバータメソッドに渡されたJsonReaderとJsonSerializerを使用して配列を逆シリアル化します。

関連する問題