Json 导入失败 - C#

发布于 2024-07-16 12:23:49 字数 823 浏览 12 评论 0原文

我有以下类结构

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(Listobj) 导出到 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。

I have the following class structure

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

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

When I export to Json using Jayrock.Json.Conversion.JsonConvert.ExportToString(List<AreaField> obj), everything works fine. The problem is when I attempt to import it back to a list of AreaField, the native import fails. What I am trying to is

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

Is there a way to maybe override the import method?

EDIT: Yes, jayrock knows the type of the object. My guess it has to do something with me serializing a list.

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

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

Exception - Cannot import AreaField from a JSON Array value.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

她如夕阳 2024-07-23 12:23:49

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

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

It looks like you're exporting a List<AreaField> but attempting to import an AreaField (singular). Try:

List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson);
删除→记忆 2024-07-23 12:23:49

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

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

"It doesn't work" is not a good start. Exception? Wrong data? Does Jayrock know the type of the object?

AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson);
江南烟雨〆相思醉 2024-07-23 12:23:49

列表>> 不起作用,但数组可以。 像这样:

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

List<> won't works, but array works. Like this:

AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文