首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json导入失败- C#

Json导入失败- C#
EN

Stack Overflow用户
提问于 2009-03-24 16:07:06
回答 3查看 2.3K关注 0票数 2

我有如下的类结构

代码语言:javascript
复制
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列表时,本机导入失败。我想要做的是

代码语言:javascript
复制
Jayrock.Json.Conversion.JsonConvert.Import(strJson)

有没有可能重写import方法的方法?

编辑:是的,jayrock知道对象的类型。我猜它一定是和我序列化一个列表有关。

代码语言:javascript
复制
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。

EN

回答 3

Stack Overflow用户

发布于 2009-03-24 19:54:18

看起来您正在导出一个List<AreaField>,但却试图导入一个AreaField (单数)。尝试:

代码语言:javascript
复制
List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson);
票数 1
EN

Stack Overflow用户

发布于 2009-03-24 16:15:09

“它不工作”不是一个好的开始。例外?错误的数据?Jayrock知道物体的类型吗?

代码语言:javascript
复制
AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson);
票数 0
EN

Stack Overflow用户

发布于 2013-10-25 20:23:00

List<>不能工作,但数组可以工作。如下所示:

代码语言:javascript
复制
AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/678103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档