【问题标题】:Json Import fails - C#Json 导入失败 - C#
【发布时间】:2009-03-24 16:07:05
【问题描述】:

我有以下类结构

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&lt;AreaField&gt; obj) 导出到 Json 时,一切正常。问题是当我尝试将其导入到 AreaField 列表时,本机导入失败。我想要的是

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

有没有办法覆盖导入方法?

编辑:是的,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。

【问题讨论】:

    标签: c# asp.net json json.net jayrock


    【解决方案1】:

    看起来您正在导出List&lt;AreaField&gt;,但尝试导入AreaField(单数)。试试:

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

    【讨论】:

      【解决方案2】:

      “它不起作用”不是一个好的开始。例外?数据错误? Jayrock 知道对象的类型吗?

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

      【讨论】:

        【解决方案3】:

        List 不起作用,但数组起作用。像这样:

        AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-11
          • 2017-11-10
          • 1970-01-01
          • 2016-11-12
          • 2015-06-22
          • 1970-01-01
          相关资源
          最近更新 更多