- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
<分区>
给定以下代码段:
using System;
using Newtonsoft.Json;
namespace JsonTestje
{
class Other
{
public string Message2 { get; set; }
}
class Demo
{
public string Message { get; set; }
public Other Other { get; set; }
}
class Program
{
static void Main(string[] args)
{
var demo = new Demo
{
Message = "Hello, World!",
Other = new Other
{
Message2 = "Here be dragons!"
}
};
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto,
Formatting = Formatting.Indented
};
var serialized = JsonConvert.SerializeObject(demo, settings);
Console.WriteLine(serialized);
}
}
}
输出是这样的:
{
"Message": "Hello, World!",
"Other": {
"Message2": "Here be dragons!"
}
}
现在,如果我将 TypeNameHandling
更改为 TypeNameHandling.All
,输出将变为:
{
"$type": "JsonTestje.Demo, JsonTestje",
"Message": "Hello, World!",
"Other": {
"$type": "JsonTestje.Other, JsonTestje",
"Message2": "Here be dragons!"
}
}
但我想要的是:
{
"$type": "JsonTestje.Demo, JsonTestje",
"Message": "Hello, World!",
"Other": {
"Message2": "Here be dragons!"
}
}
原因是我希望能够序列化一堆对象并在以后反序列化它们,而不知道它们反序列化到的类型,但我也不想用这些 $type 污染内容
属性遍及不需要的地方。
换句话说,我想要 TypeNameHandling.Auto
除了根对象。我该怎么做?
我使用 TypeNameHandling序列化和反序列化 json 中的派生类列表。它与属性和属性 JsonProperty 完美配合 public abstract class Animal {
在我们的 API 上,我们需要接收 json,将其反序列化为接口(interface),设置一个字段,然后将其发送出去。为了实现这一点,我在两端将 jsonConvert 设置为使用 TypeName
在我们的 API 上,我们需要接收 json,将其反序列化为接口(interface),设置一个字段,然后将其发送出去。为了实现这一点,我在两端将 jsonConvert 设置为使用 TypeName
使用以下示例序列化了一个类 using Newtonsoft.Json; using System; namespace ConsoleAppCompare { class Program
我设法用 JSON.net TypeNameHandling 修复了自己。我正在使用 RavenDB 存储一个 JSON 格式的对象,并将 JSON.net 序列化程序的 TypeNameHandli
这个问题在这里已经有了答案: json.net - how to add property $type ONLY on root object (2 个答案) 关闭 1 年前。 给定以下代码段: u
这个问题在这里已经有了答案: Newtonsoft JSON.net deserialization error where fields in JSON change order (1 个回答) 5
我正在尝试反序列化具有锯齿状和多维数组属性的对象: public abstract class Foo {} public class Baz { public readonly List F
眼前的问题 在处理使用 Json.NET 的不同库时遇到此问题。在将 C# 对象序列化为 JSON 以及在客户端应用程序的另一端反序列化它们时,我们一直大量使用 TypeNameHandling.Ar
我的问题是我想将一个 json 对象反序列化为一个 C# 对象,但诀窍在于 C# 对象包含 List 而这个抽象类是另外 10 个类的父类(super class)。 public sealed cl
以下程序: using System; using Newtonsoft.Json; namespace JsonPlayground { public class Program {
有时我需要通过 Json.NET 抑制 "$type" 属性的输出,即使由 JsonPropertyAttribute.ItemTypeNameHandling 指定也是如此.如何做到这一点? 我的根
我有一个具有接口(interface)类型属性的类,例如: public class Foo { public IBar Bar { get; set; } } 我还有多个可以在运行时设置的
尝试在 Silverlight 中反序列化时出现异常。 Test1 失败,而 Test2 成功。我也试过 TypeNameAssemblyFormat 到 Simple 和 Full,但得到相同的结果
我正在运营一个小型网站,用户可以在其中上传 JSON 中定义的自定义“对象”。最近我了解到使用 JSON 和自动类型反序列化可能存在的威胁:JSON problem .我想我明白问题所在,但我必须问清
我有以下字典,我非常想使用 Json.Net 对其进行序列化。字典包含 IConvertible 接口(interface)的项目,允许我向字典添加我需要的任何原始类型。 var dic =
我想序列化一个Dictionary可能包含 System.Drawing.Color值或其他类型作为值。我用 TypeNameHandling.Auto 创建了一个序列化程序, 这适用于大多数类(cl
根据 Json.Net documentation所有 IEnumerable 类型都应序列化为 json 数组。 所以我期待以下类(class): public class MyClass {
当我将 Json.NET 设置为在 TypeNameHandling 设置为 TypeNameHandling.Auto 的情况下进行序列化时,它正确地为对象的子属性设置了 $type,但不会为正在序
假设 TypeNameHandling.Auto用于以下 Web Api Controller 中的 Json.net: class A {} class B : A {} class FooCont
我是一名优秀的程序员,十分优秀!