Questions tagged «serialization»

序列化是将数据结构转换为易于存储或传输并随后进行重构的格式的过程。


4
Json.net序列化/反序列化派生类型?
json.net(newtonsoft) 我正在浏览文档,但找不到任何有关此方法或最佳方法的信息。 public class Base { public string Name; } public class Derived : Base { public string Something; } JsonConvert.Deserialize<List<Base>>(text); 现在,序列化列表中有Derived对象。如何反序列化列表并获取派生类型?

9
使用Parcelable而不是序列化对象的好处
据我了解,Bundle它Parcelable属于Android执行序列化的方式。例如,它用于在活动之间传递数据。但是我想知道,例如,如果将Parcelable业务对象的状态保存到内部存储器中,使用经典序列化代替传统序列化是否有任何好处?它会比经典方式更简单或更快速吗?我应该在哪里使用经典序列化,哪里可以更好地使用包?

13
Jackson Databind枚举不区分大小写
如何反序列化包含不区分大小写的枚举值的JSON字符串?(使用Jackson Databind) JSON字符串: [{"url": "foo", "type": "json"}] 和我的Java POJO: public static class Endpoint { public enum DataType { JSON, HTML } public String url; public DataType type; public Endpoint() { } } 在这种情况下,使用JSON反序列化"type":"json"将无法"type":"JSON"正常进行。但"json"出于命名约定的原因,我也想工作。 序列化POJO也会导致大写 "type":"JSON" 我想到了使用@JsonCreator@JsonGetter: @JsonCreator private Endpoint(@JsonProperty("name") String url, @JsonProperty("type") String type) { this.url = url; this.type = …


15
如何修复已被错误的字节数长度损坏的序列化字符串?
我正在将Hotaru CMS与Image Upload插件一起使用,如果尝试将图像附加到帖子上,则会收到此错误,否则没有错误: unserialize()[function.unserialize]:偏移量错误 令人反感的代码(错误指向**): /** * Retrieve submission step data * * @param $key - empty when setting * @return bool */ public function loadSubmitData($h, $key = '') { // delete everything in this table older than 30 minutes: $this->deleteTempData($h->db); if (!$key) { return false; } $cleanKey = preg_replace('/[^a-z0-9]+/','',$key); …

3
使用TypeAdapter对对象中的一个变量(多个变量)进行Gson自定义Seralizer
我已经看到了许多使用自定义TypeAdapter的简单示例。最有用的是Class TypeAdapter<T>。但这还没有回答我的问题。 我想自定义对象中单个字段的序列化,并让默认的Gson机制负责其余的工作。 出于讨论目的,我们可以使用此类定义作为我要序列化的对象的类。我想让Gson序列化基类的前两个类成员以及所有公开的成员,并且我想为下面显示的第3个和最后一个类成员进行自定义序列化。 public class MyClass extends SomeClass { @Expose private HashMap<String, MyObject1> lists; @Expose private HashMap<String, MyObject2> sources; private LinkedHashMap<String, SomeClass> customSerializeThis; [snip] }

7
将Enum成员序列化为JSON
如何将PythonEnum成员序列化为JSON,以便可以将生成的JSON反序列化为Python对象? 例如,此代码: from enum import Enum import json class Status(Enum): success = 0 json.dumps(Status.success) 导致错误: TypeError: <Status.success: 0> is not JSON serializable 我该如何避免呢?

9
如何检查对象是否可在C#中序列化
我正在寻找一种简单的方法来检查C#中的对象是否可序列化。 众所周知,您可以通过实现ISerializable接口或将[Serializable]放在类的顶部来使对象可序列化。 我正在寻找的是一种无需查看类即可获取其属性的快速检查方法。使用is语句,该接口将很快。 使用@Flard的建议,这是我想出的代码,尖叫是有更好的方法的。 private static bool IsSerializable(T obj) { return ((obj is ISerializable) || (Attribute.IsDefined(typeof (T), typeof (SerializableAttribute)))); } 甚至更好的方法是获取对象的类型,然后在该类型上使用IsSerializable属性: typeof(T).IsSerializable 请记住,尽管这似乎只是我们要处理的类,如果该类包含其他类,您可能要检查所有这些类,或者尝试进行序列化并等待@pb指出的错误。
94 c#  serialization 

6
如何在文件中保存/恢复可序列化对象?
我有一个对象列表,需要将其保存在计算机中的某个位置。我已经阅读了一些论坛,我知道对象必须是Serializable。但是,如果我能举个例子,那就太好了。例如,如果我有以下内容: [Serializable] public class SomeClass { public string someProperty { get; set; } } SomeClass object1 = new SomeClass { someProperty = "someString" }; 但是,如何将其存储object1在计算机中的某个地方,然后再取回呢?


6
某些字段的Jackson JSON自定义序列化
有没有一种使用Jackson JSON Processor进行自定义字段级序列化的方法?例如,我想上课 public class Person { public String name; public int age; public int favoriteNumber; } 序列化为以下JSON: { "name": "Joe", "age": 25, "favoriteNumber": "123" } 请注意,age = 25被编码为数字,而favoriteNumber = 123被编码为string。杰克逊开箱int即用。在这种情况下,我希望将favoriteNumber编码为字符串。

6
序列化可为null的int
我有一个带有可为null的int的类?设置为序列化为xml元素的数据类型。有什么方法可以设置它,以便xml序列化程序在值为null时不会序列化元素? 我尝试添加[System.Xml.Serialization.XmlElement(IsNullable = false)]属性,但是我收到一个运行时序列化异常,提示存在反映该类型的错误,因为“ IsNullable可能未设置为'false “表示Nullable类型。请考虑使用“ System.Int32”类型或从XmlElement属性中删除IsNullable属性。” [Serializable] [System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")] public class Score { private int? iID_m; ... /// <summary> /// /// </summary> public int? ID { get { return iID_m; } set { iID_m = value; } } ... } 上面的类将序列化为: <Score xmlns="http://mycomp.com/test/score/v1"> <ID xsi:nil="true" /> </Score> …
92 c#  .net  xml  serialization 


11
检查对象是否为C#中的数字
我想检查的对象是一个数字,这样.ToString()会导致包含数字和字符串+,-,. 是否可以通过.net中的简单类型检查(例如:)进行操作if (p is Number)? 还是应该转换为字符串,然后尝试将其解析为两倍? 更新:澄清我的对象是int,uint,float,double,等等,它不是字符串。我正在尝试制作一个将任何对象序列化为xml的函数,如下所示: <string>content</string> 要么 <numeric>123.3</numeric> 或提出例外。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.