2009-03-24 8 views
2

を私は次のクラス構造を持っているJSONのインポートが失敗した - C#

public class AreaFields 
{ 
    public List<Fields> Fields { set; get; } 
} 

public class Fields 
{ 
    public string Name { set; get; } 
    public string Value {set; get; } 
} 

私はJayrock.Json.Conversion.JsonConvert.ExportToString(List<AreaField> obj)を使用してJSONにエクスポートすると、すべてが正常に動作します。問題は、それをAreaFieldのリストにインポートしようとすると、ネイティブインポートが失敗することです。私がしようとしているのは

Jayrock.Json.Conversion.JsonConvert.Import(strJson) 

インポート方法を無効にする方法はありますか?

EDIT:はい、jayrockはオブジェクトのタイプを認識しています。私の推測では、私はリストをシリアライズする何かをしなければならない。

Export - 
List<AreaField> list = GetAListOfAreaFields(); 
string sJson = Jayrock.Json.Conversion.JsonConvert.ExportToString(list) 

Import - 
List<AreaField> list = (AreaField)JsonConvert.Import(typeof(AreaField, sJson); 

例外 - JSON配列値からAreaFieldをインポートできません。

答えて

0

「うまくいかない」というのは良いスタートではありません。例外?間違ったデータですか?ジェイロックはオブジェクトの種類を知っていますか?

AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson); 
1

あなたがList<AreaField>をエクスポートするが、AreaField(単数)をインポートしようとしているように見えます。試してください:

List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson); 
0

リスト<>は動作しませんが、配列は動作します。このように:

AreaField[] list = JsonConvert.Import<AreaField[]>(sJson); 
関連する問題