2

私は次のクラス構造を持っています

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

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

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

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

インポート方法をオーバーライドする方法はありますか?

編集: はい、ジェイロックはオブジェクトのタイプを知っています。リストをシリアライズすることで何かをしなければならないと思います。

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 をインポートできません。

4

3 に答える 3

1

a をエクスポートしているようですが、 (singular)List<AreaField>をインポートしようとしています。AreaField試す:

List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson);
于 2009-03-24T19:54:17.920 に答える
0

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

AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson);
于 2009-03-24T16:15:08.820 に答える
0

List<> は機能しませんが、配列は機能します。このような:

AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);
于 2013-10-25T12:23:00.010 に答える