Tag: 序列化

在Jackson中序列化/反序列化自定义Map

我有一个非常简单的Map我希望在Jackson中序列化和反序列化,但我无法让它工作。 我尝试过以下方法: @JsonSerialize(keyUsing=TurnKeySerializer.class) @JsonDeserialize(keyUsing = TurnKeyDeserializer.class) Map publicTurns = new TreeMap(); @JsonIgnoreProperties(ignoreUnknown = true) @Data //Creates Getter/Setter etc public class TurnKey implements Comparable { private final int turnNumber; private final String username; public TurnKey(int turnNumber, String username) { this.turnNumber = turnNumber; this.username = username; } @Override public int compareTo(TurnKey o) { int v = Integer.valueOf(turnNumber).compareTo(o.getTurnNumber()); […]

android应用程序/活动生命周期:什么时候应该保存到flash?

我有一个由许多活动组成的应用程序。 每个活动都可以以某种方式修改项目。 我通过序列化一些对象并将它们保存到flash来将此项目保存到flash。 现在,如果用户离开应用程序,它可能会被操作系统杀死。 因此,我应该在每个活动的每个onPause()上保存.. 但这非常愚蠢和消费(序列化,打开文件,覆盖文件..).. 你有更好的主意吗? 顺便说一句,如果我不想使用数据库,保存我的项目是对象序列化足够好还是我应该使用更健壮的东西(xml?)? 感谢您的澄清和建议..

Spring Remoting序列化和反序列化

我们一直在我们的项目中使用Spring Remoting。 它与其他一些系统一起使用来访问我们的Web服务。 我们目前正在发展Web服务所采用的参数; 但与此同时,我们正努力独立于消费者。 所以,目前我的问题是关于序列化和反序列化如何在spring remoting中工作。 以下是详细信息: 我有一个通过spring remoting公开的web服务,它在类中有以下参数 名称 年龄 地址 目前,所有消费者都使用相应的存根,并且相应地进行序列化和反序列化。 正如我所提到的,我们分别将我们的Web服务和类改进为包含以下字段“ 名称 年龄 地址 国家 出生日期 但是,消费者仍然使用旧的存根或存根来访问Web服务。 我们做了一个高峰,似乎无论我们在哪里新添加的字段,远程服务继续正常工作。 自从添加了字段数量以来,我一直期待它在消费者端轰炸。 “请注意,没有任何字段已被删除/从课程中删除”。 只添加了一些内容。 spring remoting是否可以优雅地处理其他字段,或者我应该期待它可以使用它? 如果我的问题在任何时候都不清楚,请告诉我。 我试图提出的最终问题是,我是否应该期待我的计划炸弹? 它目前没有失败,因为我没有正确测试某些东西? spring remoting如何序列化和反序列化正在交换的对象?

如何为jackson编写一个全能(de)序列化器

如果事先知道类型,编写自定义序列化程序非常简单。 例如。 MyType可以写一个MyTypeSerializer extends StdSerializer 。 请参阅http://wiki.fasterxml.com/JacksonHowToCustomSerializers 但是,让我们说: 我有几种类型(接口)的对象通过jackson序列化。 我事先并不知道这些对象的类型。 我无法在这些类型上添加注释。 所有这些objets都可以转换为我知道的常见类型,以便我可以获取其状态数据,键入不属于其界面的类型。 这意味着我需要编写一个应该处理所有类型的串行器(“catch-all”)并且可以决定它是否支持它(4.)。 我天真地尝试过CatchAllSerializer extends StdSerializer但它根本没有被触发。 如何编写/注册将捕获所有类型的序列化程序,可以决定它是否支持给定类型并提供序列化机制?

如何使用jackson遍历生成的json模式并将自定义属性放在json模式中

{ “type”: “object”, “properties”: { “name”: { “type”: “string” }, “id”: { “type”: “string” }, “i”: { “type”: “integer” }, “p”: { “type”: “object”, “properties”: { “name”: { “type”: “string” }, “id”: { “type”: “string” }, “i”: { “type”: “integer” }, “p1”: { “type”: “object”, “properties”: { “name”: { “type”: “string” }, “id”: { “type”: […]

可以在Java中序列化Method对象吗?

我尝试序列化一个Method对象时收到此错误。 java.io.NotSerializableException: java.lang.reflect.Method 任何的想法?

使用Jackson将使用generics的类序列化为JSON

我有一个表示调查问卷的对象结构,我需要序列化为JSON。 结构的一个类是OpenQuestion,这个类使用带有两个参数的generics。 当使用的类型之一是Date时,问题开始,日期序列化错误,如长。 class级代码: public class OpenQuestion extends AbstractQuestion implements Serializable { private valueType value; private validationType minValue; private validationType maxValue; … } 我看到如果哈希映射总是使用Date,如何在哈希映射中序列化日期,但在这种情况下,我使用带有String,Integer或Date的类。 有什么想法解决它吗? 谢谢

Android Java – 反序列化Android平台上的文件

我有一个jave程序,它序列化存储和稍后读取的文件。 所以我采用序列化文件并尝试使用我在Java SE中使用的完全相同的代码在我的Android手机上(在Eclipse中工作)读取它们: FileInputStream fis = null; try { fis = new FileInputStream(“iwastedahalfhouronthis.ser”); } catch (FileNotFoundException ex) { } 抛出FileNotFoundException。 好吧,它可能不在正确的地方。 因此,我将文件放在Eclipse项目中的每个可能的文件夹中,并尝试从这些位置加载。 没运气。 确保文件名正确,没有运气。 使用eclipse提供的完全限定名称:“/pleasehelp / src / com / imlosingit / iwastedahalfhouronthis.ser”。 没运气。 将文件对象传递给FileInputStream。 没运气。 这在Java上非常容易。 这里发生了什么? ———–编辑解决方案——————– Data data = null; //object to be deserialized InputStream is = null; ObjectInputStream ois=null; AssetManager assets […]

Grails XML编组:更改默认的“”根元素名称

默认情况下,Grails在XML中使用元素标记在其根目录中呈现List。 同样,它使用 渲染Map。 我想控制根元素的名称。 如果我正在返回User的ArrayList,那么我想看看: … … 我怎样才能实现上述目标? 以下是要求: 轻松将此序列化应用于50多个域类 从开发人员中抽象出来,因此在渲染域对象期间不需要显式编码(即,当调用render()或respond() ,仍会传入ArrayList,没有像as MyNewType那样的显式转换/转换) 能够处理空列表的边缘情况(应该返回 ) 尼斯对富人: 如果这个公式也可以应用于Map,那很棒:) 我已经半成功地实现了上述目标,除了我不知道如何解释空列表案例。 我实现了自己的ObjectMarshaller,它呈现了List类型的所有对象。 只要列表包含一个元素,我就可以检查元素的类型并确定复数标记名称应该是什么(User => users)。 但是如果列表是空的,并且由于Javagenerics是擦除的(除非在Groovy中有所不同?)然后我没有办法正确命名空列表而不是默认为类的东西,这是不可接受的。 我经历过的一些资源: http://www.cacoethes.co.uk/blog/groovyandgrails/dry-json-and-xml-with-grails http://grails.1312388.n4.nabble.com/Custom-XML-Marshaller-change-the-root-element-name-td4649949.html http://jwicz.wordpress.com/2011/07/11/grails-custom-xml-marshaller/ http://mrhaki.blogspot.com/2013/11/grails-goodness-register-custom.html http://manbuildswebsite.com/2010/02/15/rendering-json-in-grails-part-3-customise-your-json-with-object-marshallers/

使用jackson序列化时有条件地跳过对象

我有一个类似的课程 interface IHideable { boolean isHidden(); } class Address implements IHideable { private String city; private String street; private boolean hidden; } class PersonalInfo implements IHideable { private String name; private int age; private boolean hidden; } 我想在我的网络服务中序列化IHideable列表; 但过滤掉隐藏字段设置为true的任何对象。 基本上给出一个像对象的列表 [ {‘city 1′,’street 1’,false}, {‘city 2′,’street 2’,true}, {‘city 3′,’street 3’,false} ] 我希望输出为 [ { city:’city […]