serialization相关内容

如何仅将缩进序列化应用于某些属性?

我想以一种人类可读的方式将 .NET 对象序列化为 JSON,但我想更好地控制对象的属性或数组的元素是否以它们自己的一行结束. 目前我正在使用 JSON.NET 的 JsonConvert.SerializeObject(object, Formatting, JsonSerializerSettings) 方法进行序列化,但似乎我只能应用 Formatting.Indented(单行上的所 ..
发布时间:2022-01-11 21:58:33 C#/.NET

无法反序列化当前 JSON 数组(例如 [1,2,3])

我正在尝试读取我的 JSON 结果. 这是我的根对象 公共类 RootObject{公共 int id { 获取;放;}公共布尔 is_default { 获取;放;}公共字符串名称 { 获取;放;}公共 int 数量 { 获取;放;}公共字符串股票 { 得到;放;}公共字符串 unit_cost { 获取;放;}} 这是我的 JSON 结果 [{“id":3636,“is_defau ..
发布时间:2022-01-11 21:57:21 C#/.NET

将特定枚举反序列化为 Json.Net 中的 system.enum

我有一个相当通用的“规则"类,我用它来驱动我正在编写的分析引擎的行为: 公共类规则{//////通用规则类型.///公共规则类型规则类型 { 获取;放;}//////规则的人类可读描述.///公共字符串 RuleDescription { 获取;放;}//////如果适用,规则的整数幅度.///公共诠释?RuleInt { 得到;放;}/// ..
发布时间:2022-01-11 21:55:52 C#/.NET

序列化特定类型时如何使 JSON.Net 序列化程序调用 ToString()?

我正在使用 Newtonsoft.Json 序列化程序将 C# 类转换为 JSON.对于某些类,我不需要序列化器到单个属性的实例,而是只在对象上调用 ToString,即 公共类Person{公共字符串名字 { 获取;放;}公共字符串姓氏{得到;放;}公共覆盖字符串 ToS​​tring() { return string.Format("{0} {1}", FirstName, LastNam ..
发布时间:2022-01-11 21:53:38 C#/.NET

检测到自引用循环 - 从 WebApi 取回数据到浏览器

我正在使用 Entity Framework,但在将父子数据传输到浏览器时遇到问题.这是我的课程: 公开课题{公共 int QuestionId { 获取;放;}公共字符串标题 { 获取;放;}公共虚拟ICollection答案{得到;放;}}公开课答案{公共 int AnswerId { 获取;放;}公共字符串文本 { 获取;放;}公共 int QuestionId { 获取 ..
发布时间:2022-01-11 21:50:49 C#/.NET

JSON.NET 作为 WebAPI 2 OData 序列化程序与 ODataMediaTypeFormatter

我正在尝试使用 JSON.NET 作为 WebAPI 2 堆栈中的默认序列化程序.我已经实现了 JsonMediaTypeFormatter,其中我使用 JSON.NET 序列化程序来序列化/反序列化数据,并创建了 JsonContentNegotiator 来使用这个媒体类型格式化程序.除 OData 查询外,一切正常 - 如果我添加 [Queryable] 元数据 ot 操作方法,则响应对象不 ..
发布时间:2022-01-11 21:48:12 其他开发

序列化属性,但不要反序列化 Json.Net 中的属性

虽然我找到了很多方法来反序列化特定属性同时防止它们被序列化,但我正在寻找相反的行为. 我发现很多问题都在反问: 使属性反序列化但不使用 json 序列化.net 我可以指导 Json.NET 来反序列化而不是序列化特定属性? JSON.Net - 仅使用 JsonIgnoreAttribute关于序列化(但不是在反序列化时) 如何序列化特定属性,但防止它反序列化回 P ..
发布时间:2022-01-11 21:44:56 C#/.NET

Json.NET 可以对流进行序列化/反序列化吗?

听说Json.NET比DataContractJsonSerializer快,想试一试…… 但我在 JsonConvert 上找不到任何采用流而不是字符串的方法. 以在WinPhone上反序列化包含JSON的文件为例,我使用以下代码将文件内容读入字符串,然后反序列化为JSON.在我的(非常临时的)测试中,它似乎比使用 DataContractJsonSerializer 直接从流中反序 ..
发布时间:2022-01-11 21:36:30 C#/.NET

检测反序列化对象是否缺少 Json.NET 中 JsonConvert 类的字段

我正在尝试使用 Json.NET 反序列化一些 JSON 对象.然而,我发现,当我反序列化一个没有我要查找的属性的对象时,不会引发任何错误,但是当我访问它们时会为这些属性返回一个默认值.当我反序列化错误类型的对象时,我能够检测到这一点很重要.示例代码: 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;使用 Syst ..
发布时间:2022-01-11 21:36:14 C#/.NET

JSON.NET Parser *似乎*对我的对象进行双重序列化

我的问题是这样的: 这是从我的 WebAPI 控制器发回的响应. "[[{\"id\":\"标识符\"},{\"名称\":\"foobar\"}]]" 请注意,响应包含在引号中,并且所有嵌入的引号都被转义了.这显然是个问题.我可以向 JSON.NET 序列化程序提供任何设置来防止这种情况发生吗? 编辑 正如 p.s.w.g 在他的回复中猜测的那样,我使用的是 JSON.NET ..
发布时间:2022-01-11 21:35:16 C#/.NET

无法将 JSON 数组(例如 [1,2,3])反序列化为类型“",因为类型需要 JSON 对象(例如 {“name":“value"})才能正确反序列化

我有这个 JSON: [{“属性": [{“键":“名称",“价值": {“值":“累加 1",“价值观":[“加速 1"]}},{“钥匙":“身份证",“价值": {“值":“1",“价值观":[“1"]}}],“名称":“帐户",“身份证":“1"},{“属性": [{“键":“名称",“价值": {“值":“Acc 2",“价值观":[“加速 2"]}},{“钥匙":“身份证",“价值": ..
发布时间:2022-01-11 21:35:07 C#/.NET

JSON.NET 错误检测到类型的自引用循环

我尝试序列化从 Entity Data Model .edmx 和我使用时自动生成的 POCO 类 JsonConvert.SerializeObject 我收到以下错误: 检测到类型 System.data.entity 的错误自引用循环发生. 我该如何解决这个问题? 解决方案 这是最好的解决方案https://docs.microsoft.com/en-us/archi ..
发布时间:2022-01-11 21:33:46 C#/.NET

Newtonsoft Json 中的 TypeNameHandling 谨慎

在 this 链接上,在备注部分提到: 当您的应用程序从外部源反序列化 JSON 时,应谨慎使用 TypeNameHandling.使用 TypeNameHandling.None 以外的值进行反序列化时,应使用自定义 SerializationBinder 验证传入类型. 在什么情况下,如果使用 TypeNameHandling.All 序列化/反序列化来自外部源的 JSON 会有害? ..
发布时间:2022-01-11 21:33:17 C#/.NET

可以避免在同一应用程序中的 JComponent 之间的 DnD 中进行序列化吗?

最近我解决了当 DnD 项目从 JList 到 JTable 对象时得到的“神秘"IOException.显然,我传输的对象必须是可序列化的.这是“必须",还是有办法避免序列化? 我必须注意的一件事 - 我要转移的类型在不同的包中. 解决方案 你可以写一个自定义的TransferHandler.例如,我相信 JTabel 的 TranferHandler 将导出一个以逗号分隔的字符串 ..
发布时间:2022-01-11 21:26:53 Java开发

Boost Serialization - 以多个 CPP 文件导出

最近几天我一直在努力解决 Boost 序列化问题: 我正在尝试对多个文件中的多个派生类进行序列化和反序列化.为了保持通用性,我创建了模板函数,例如: template空白Helper::SaveToFile(T* data, std::string file){std::ofstream ofs(file.c_str());boost::archive::text_oarchive oa( ..
发布时间:2022-01-11 19:56:07 C/C++开发

JSON序列化时如何本地化?

我已经挣扎了几个小时了,没有好的结果.我正在尝试使用 .NET JSON 序列化程序将 JSON 从 UI 来回转换为对象. 小数出现问题是因为我的文化标准使用“,"作为小数分隔符,而不是“.".我尝试实现一个自定义转换器(请参阅 this 问题),但效果不佳. 我还检查了 NewtonSoft JSON.net,但没有更好的结果.到目前为止,与值类型的匹配似乎是文化不变的.我想覆盖这 ..
发布时间:2022-01-11 10:29:47 C#/.NET