相关疑难解决方法(0)

将Newtonsoft.Json.Linq.JArray转换为特定对象类型的列表

我有以下类型的变量{Newtonsoft.Json.Linq.JArray}.

properties["Value"] {[
  {
    "Name": "Username",
    "Selected": true
  },
  {
    "Name": "Password",
    "Selected": true
  }

]}
Run Code Online (Sandbox Code Playgroud)

我想做到的是将其转换为List<SelectableEnumItem>那里SelectableEnumItem是以下类型:

public class SelectableEnumItem
    {
        public string Name { get; set; }
        public bool Selected { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我对编程很新,我不确定这是否可行.任何有关工作示例的帮助将不胜感激.

c# json.net

216
推荐指数
3
解决办法
20万
查看次数

使用Json.NET转换器反序列化属性

我有一个类定义,其中包含一个返回接口的属性.

public class Foo
{ 
    public int Number { get; set; }

    public ISomething Thing { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

尝试使用Json.NET序列化Foo类给出了一条错误消息,例如"无法创建类型为'ISomething'的实例.ISomething可能是一个接口或抽象类."

是否有Json.NET属性或转换器可以让我指定Something在反序列化期间使用的具体类?

.net serialization json.net

84
推荐指数
6
解决办法
9万
查看次数

如何使用JSON.net处理同一属性的单个项目和数组

我正在尝试修复我的SendGridPlus库来处理SendGrid事件,但是我在API中对类别的处理方式不一致时遇到了一些麻烦.

在以下示例从SendGrid API引用获取的有效内容中,您会注意到category每个项的属性可以是单个字符串,也可以是字符串数组.

[
  {
    "email": "john.doe@sendgrid.com",
    "timestamp": 1337966815,
    "category": [
      "newuser",
      "transactional"
    ],
    "event": "open"
  },
  {
    "email": "jane.doe@sendgrid.com",
    "timestamp": 1337966815,
    "category": "olduser",
    "event": "open"
  }
]
Run Code Online (Sandbox Code Playgroud)

看起来像我这样制作JSON.NET的选择是在字符串进入之前修复字符串,或者配置JSON.NET以接受不正确的数据.如果我能逃脱它,我宁愿不做任何字符串解析.

有没有其他方法我可以使用Json.Net处理这个?

json.net sendgrid

82
推荐指数
3
解决办法
3万
查看次数

标签 统计

json.net ×3

.net ×1

c# ×1

sendgrid ×1

serialization ×1