json.net相关内容

如何提高 .Net 中的 JSON 反序列化速度?(JSON.net 还是其他?)

我们正在考虑用 JSON(WCF 或其他)调用替换(部分或许多)“经典"SOAP XML WCF 调用,因为它的开销较低且易于直接在 Javascript 中使用.目前,我们刚刚为我们的 Web 服务添加了一个额外的 Json 端点,并为一些操作添加了 WebInvoke 属性并对其进行了测试.一切正常,使用 C# .Net 客户端或 Javascript 客户端.到目前为止一切顺利. 然而 ..
发布时间:2022-01-11 22:16:38 C#/.NET

如何使用 JsonConverter 仅序列化类的继承属性

我正在尝试仅使用 json.net 序列化类的继承属性.我知道 [JsonIgnore] 属性,但我只想在某些情况下忽略它们,所以我使用了自定义 JsonConverter. 这是我的课: 公共类 EverythingButBaseJsonConverter : JsonConverter{public override void WriteJson(JsonWriter writer, ..
发布时间:2022-01-11 22:16:19 C#/.NET

当值可以是对象或空数组时反序列化 JSON

我正在使用 VK API.有时服务器可以返回空数组而不是对象,例如: personal: []//当为空时 或 个人:{宗教:'Нет',吸烟:1,酒精:4}//当不为空时. 我正在使用 JsonConvert.DeserializeObject 反序列化大部分 json,而这部分 json 使用 MainObject = ((MainObject["response"].GetObje ..
发布时间:2022-01-11 22:16:09 C#/.NET

使用 Json.Net 在 json 对象后丢弃垃圾字符

我必须使用一个由愚蠢的猴子实现的所谓 Web 服务,它在正确的 Json 响应后返回一些垃圾.像这样的: {“属性 1":1,“属性 2":2,“属性 3":3}也许我想丢弃一些其他的胡言乱语. 现在,我可以搜索 " ..
发布时间:2022-01-11 22:15:50 C#/.NET

C# JsonConvert 使用默认转换器而不是自定义转换器

我有一个具有自定义 JsonConverter 的类如下: [JsonConverter(typeof(TheShapeSerializer))]公共类 TheShape : IShape {//....} 我无法更改课程.自定义序列化程序的工作方式不适合我的需要. 有没有办法使用默认序列化器而不是 TheShapeSerializer 来序列化 TheShape 的实例? 按照同 ..
发布时间:2022-01-11 22:15:21 C#/.NET

在 Json.net 中使用自定义 JsonConverter 和 TypeNameHandling

我有一个具有接口类型属性的类,例如: 公共类 Foo{公共 IBar 酒吧 { 获取;放;}} 我还有多个可以在运行时设置的IBar 接口的具体实现.其中一些具体类需要一个自定义的 JsonConverter 来进行序列化和反序列化. 利用 TypeNameHandling.Auto 选项可以完美地序列化和反序列化需要 IBar 类的非转换器.另一方面,自定义序列化的类没有 $type ..
发布时间:2022-01-11 22:15:05 C#/.NET

避免默认构造函数和公共属性设置器

我正在使用 SignalR 开展一个项目,并且我有一些我将通过它传递的对象.这些对象仅在我的后端代码中显式创建,我真的希望能够对它们强制执行不变性和不变量.我遇到了 SignalR 要求我(嗯,真的是 NewtonSoft.Json)在我的属性上有一个默认的、无参数的构造函数和公共设置器的问题,以便它通过网络对它们进行序列化和反序列化. 这是一个人为的例子: 公共类消息{公共字符串文本 { ..
发布时间:2022-01-11 22:14:49 C#/.NET

如何为 JObject 创建唯一的哈希码?

我正在尝试为 JObjects 实现缓存. 我很惊讶他们没有覆盖 GetHashCode 方法,因此我不能将它用作唯一键. 由于我的 json 非常大,我不想使用 JObject.ToString().GetHashCode 作为解决方案. 我确实看到他们有一个名为 GetDeepHashCode 的内部方法,但该实现基于其他受保护的属性,因此,我无法“复制"代码并从中创建扩展方 ..
发布时间:2022-01-11 22:14:19 C#/.NET

Json.net `JsonConstructor` 构造函数参数名称

当通过 JsonConstructor 使用特定 .ctor 反序列化 IList 属性时,参数名称必须与 原始 Json 名称和未使用这些属性上的 JsonProperty 映射. 示例: SpokenLanguages 参数始终为空,因为它与 spoken_languages 不匹配,但有一个 JsonProperty 映射它: 公共部分类 AClass : ISomeBase{ ..
发布时间:2022-01-11 22:14:12 C#/.NET

是否有在 Windows Mobile 上用 C# 读取 JSON 的库?

我正在尝试在 Windows Mobile 上找到一个库来解析 C# 上的 JSON(使用 Visual Studio 2005).我发现允许我在 C#(litjson 和 Jayrock)中解析 JSON 的库在 Windows Mobile 上不起作用,它们需要 .NET 紧凑框架中不存在的类.有没有我忽略的图书馆?或者在这些情况下是否有另一种简单的方法来解析 JSON? 解决方案 J ..
发布时间:2022-01-11 22:14:03 C#/.NET

JSON.net - 字段是字符串或列表<字符串>

我有一种情况,从 REST 服务返回的 JSON 返回一个电影对象列表,所有这些都包含大量信息.REST 服务结果中的几个字段会根据可用信息而变化. 一个例子:一部电影总是有一些屏幕截图(图像)、演员和导演.根据所讨论的电影,可能有一个或多个图像、一个或多个演员和一个或多个导演.几个案例的示例 JSON: {"title": "电影标题",“图片": ["http://www.url.co ..
发布时间:2022-01-11 22:13:44 C#/.NET

在 json.net 中重命名 JProperty

我有以下属性 {“坏的":{"登录": "someLogin","街": "someStreet",“房子":“1",“平":“0",“最后指示":["230",“236"],“当前指示":["263",“273"],“照片":[空值,空值]}} 例如,我如何将其从“坏"重命名为“好".是的,我看到了 Abi Bellamkonda 的扩展方法 公共静态类 NewtonsoftExtensi ..
发布时间:2022-01-11 22:13:31 C#/.NET

JSON.Net:反序列化多态类型而不指定程序集

我看到使用 JSON.Net,如果 $type 属性指定 JSON 对象的特定类型,我可以解码多态对象.在我见过的所有示例中,$type 都包含命名空间.是否可以在没有程序集的情况下仅包括一个简单的类型名称来完成这项工作?如果可能的话,我很乐意为 JsonSerializer 指定一个默认程序集. 我可以使用以下方法反序列化 JSON: 公共类 SingleAssemblyJsonType ..
发布时间:2022-01-11 22:13:23 C#/.NET

覆盖 Json.Net 中的默认原始类型处理

在处理原始类型时,有没有办法覆盖 Json.net 的默认反序列化行为?例如,当将 json 数组 [3.14,10,"test"] 反序列化为 object[] 的类型时,3.14 的类型将是 double 和 10 将是 long 类型.无论如何我可以拦截或覆盖这种类型决策,以便我可以将值分别反序列化为 decimal 和 int? 我基本上总是希望 json 整数总是以 int 的形式 ..
发布时间:2022-01-11 22:13:14 C#/.NET

日期转换 .NET JSON 到 ISO

如何从 JSON.Net 转换日期时间格式,例如: /日期(1154970000000+0700)/ 到 ISO-??格式2011-12-18T23:34:59Z 最好使用 Python 或 Javascript. 我决定选择后者,因为它在 JS 世界中似乎是使用最广泛、可读性最强且自然可排序的.我将按用户存储偏移量. 如果一个实现有点太问了,如果有人能告诉我这两种格 ..
发布时间:2022-01-11 22:13:08 前端开发