serialization相关内容
我为我的一些对象添加了一个自定义属性,如下所示: [JsonCustomRoot("status")]公共类StatusDTO{公共 int StatusId { 获取;放;}公共字符串名称 { 获取;放;}公共日期时间创建{获取;放;}} 属性很简单: 公共类 JsonCustomRoot :Attribute{公共字符串 rootName { 获取;放;}公共 JsonCustomRoo
..
..
我有一个使用 LINQ to JSON 构建的 JObject(我正在使用 Json.Net)(也由同一个库提供).当我在 JObject 上调用 ToString() 方法时,它会将结果输出为格式化的 JSON. 如何将格式设置为“无"? 解决方案 调用JObject的ToString(Formatting.None)方法. 或者,如果您将对象传递给 JsonConvert.
..
我一直觉得 JSON 序列化程序实际上会遍历整个对象的树,并在遇到的每个接口类型对象上执行自定义 JsonConverter 的 WriteJson 函数 - 并非如此. 我有以下类和接口: 公共接口 IAnimal{字符串名称 { 获取;放;}字符串说话();列出孩子{得到;放;}}公共类猫:IAnimal{公共字符串名称 { 获取;放;}公共列表孩子
..
我正在生成一个 json 对象, {“号码":0100} 当这个对象在 C# 中使用 Newtonsoft.Json 反序列化时,0100 被视为八进制数,因为前导零.有没有办法覆盖此功能并使其将数字视为十进制整数? 解决方案 我看过 JsonTextReader.ParseNumber() (数字读取的“魔法"发生的方法).我会说这是不可行的.八进制大小写特别处理 bool fla
..
使用 Json.net 反序列化具有父子关系的对象图时,使用非默认构造函数会破坏反序列化的顺序,使得子对象在其父对象之前被反序列化(构造和分配属性),从而导致空引用. 从实验看来,所有非默认构造函数对象仅在所有默认构造函数对象之后才被实例化,奇怪的是,它似乎与序列化的顺序相反(子对象在父对象之前). 这会导致应该引用其父对象(并且已正确序列化)的“子"对象被反序列化为空值. 这似
..
我有一个包含多个属性的对象,这些属性是字符串列表List 或字符串字典Dictionary.我想使用 Json.net 将对象序列化为 json,并且希望生成最少的文本. 我正在使用 DefaultValueHandling 和 NullValueHandling 将默认值设置为字符串和整数.但是,如果将 DefaultValueHandling
..
我遇到了以下情况,有人可以帮我实现以下目标吗? 例如,如果我有课程:- 公共类示例{公共字符串名称 {get;set;}public MyClass myclass {get;set;}} 我的 Myclass 如下: 公共类 MyClass{公共字符串 p1 {get;set;}公共字符串 p2 {get;set;}} 当我使用 Json.net 对 Sample 类的对象进行序列
..
我正在使用 Json.NET 反序列化一个对象,该对象包含一个 Guid 类型的私有字段和该字段的公共属性.当我的 Guid 在我的 json 中的值为 null 时,我想将 Guid.Empty 分配给我的字段. 公共类 MyClass{私人吉德财产;公共 Guid 财产{获取{返回属性;}放{如果(值 == 空){属性 = Guid.Empty;}别的{财产=价值;}}}} 但是 dese
..
我正在使用 JSON.NET 6.0.1.当我使用 SerializeObject 方法序列化派生类的对象时,它仅序列化基类的属性.以下是代码片段: 字符串 v = JsonConvert.SerializeObject(服务,Formatting.Indented,新的 JsonSerializerSettings(){TypeNameHandling = TypeNameHandling.A
..
所以我试图通过将 json 对象作为 JObject 读取,删除一些字段,然后使用 Json.Net.问题是,每当我尝试删除字段时,都会收到错误消息: “Newtonsoft.Json.JsonException"类型的未处理异常发生在 Newtonsoft.Json.dll 附加信息:无法添加或删除项目Newtonsoft.Json.Linq.JProperty. 这是我的(简
..
基于请求中的某些值(标头或 url),我想更改我的 DTO 对象的序列化.为什么?好吧,我已将 [JsonProperty("A")] 应用于我的 DTO,但取决于它是否要使用该属性的客户端(网站或移动应用程序).我开始了 服务.AddMvc().AddJsonOptions(opt =>{#如果调试opt.SerializerSettings.ContractResolver = new No
..
我使用 Newtonsoft 的 JsonSerializer. 但我想自己命名 json 对象. 我试过 JsonObject 属性 [JsonObject(Description = "MyName", Title = "orThisname")] JsonArray 也没有工作...json-objetcs/arrays 可以自己命名吗? 解决方案 我想我找到了解决方
..
我正在使用 Json.Net 将类序列化和反序列化为 json 并返回. 我向标有 [JsonObject(ItemRequired = Required.Always)](或 Required.Always)的类添加了一个新的 get-only 属性.这将导致以下 JsonSerializationException: Newtonsoft.Json.JsonSerializatio
..
我首先使用实体框架代码进行数据访问,并且我有一个包含员工集合的公司类.Employee 类也有一个 Company 属性. 我希望能够对 Company 进行序列化,并将员工列表包含在序列化中. 这是公司: 公开课公司{公共长 ID { 获取;放;}公共字符串名称 { 获取;放;}公共日期时间?成立{得到;放;}公共虚拟 IList员工{得到;放;}公共日期时
..
给定一个数据模型: [DataContract]公共课家长{[数据成员]公共 IEnumerable孩子{得到;放;}}[数据合约]公共类 ChildId{[数据成员]公共字符串 ID { 获取;放;}}[数据合约]公共类 ChildDetail : ChildId{[数据成员]公共字符串名称 { 获取;放;}} 出于实现方便的原因,有时 Parent 上的 ChildId
..
我有一个具有两个 DateTime 属性的类.我需要用不同的格式序列化每个属性.我该怎么做?我试过了: JsonConvert.SerializeObject(obj, Formatting.None,新的 IsoDateTimeConverter {DateTimeFormat = "MM.dd.yyyy"}); 此解决方案对我不起作用,因为它将日期格式应用于所有属性.有没有办法用不同的格式
..
我正在尝试移动一些代码以使用 ASP.NET MVC Web API 生成的 Json 数据而不是 SOAP Xml. 我在序列化和反序列化以下类型的属性时遇到了问题: IEnumerable. 这是一个简单的例子: 公共接口ISample{int SampleId { 获取;放;}}公共类示例:ISample{公共 int SampleId { 获取;放;}}公共类 SampleGr
..
2010 年 10 月 19 日更新我知道我不久前问过这个问题,但这些答案中显示的解决方法很难令人满意,这仍然是许多人的常见问题.WCF 只是不灵活.我创建了自己的开源 C# 库,用于在没有 WCF 的情况下创建 REST 服务.检查 restcake.net 或 rest.codeplex.com 获取有关该库的信息.结束更新 2012 年 8 月 2 日更新ASP.NET Web API
..
我已经看过 如何在 JSON 序列化期间删除 $id 但给出的答案似乎对我不起作用,我希望有人能找出我做错了什么. 这是我的代码: return JsonConvert.SerializeObject(target, new JsonSerializerSettings {NullValueHandling = NullValueHandling.Include,PreserveRefer
..