将java序列化对象反序列化为Scala类

时间:2015-08-21 05:46:39

标签: java scala serialization playframework redis

我需要从Redis数据库中读取一个序列化对象(用Java完成)并将其转换为Scala中的case类。

序列化对象是这样的:

  

srmodels.mongo.Memberxrcom.mongodb.BasicDBObject¹Ʒ#Z_isPartialObjectxrorg.bson.BasicBSONObject¹Ʒ#xrjava.util.LinkedHashMap4N \ lZaccessOrderxrjava.util.HashMap`F   loadFactorI thresholdxp?@ wt_idsrorg.bson.types.ObjectId¹Ʒ# I_incI_machineZ_newI_timexp6 Uҕ taddressessrcom.mongodb.BasicDBList¹Ʒ# Z_isPartialObjectxrorg.bson.types.BasicBSONList¹Ʒ# xrjava.util.ArrayListx a Isizexpwsq~?@w tidsrjava.lang.Long; ̏# Jvaluexrjava.lang.Number xp,#t   first_nametsdsdt last_nametsdsdtcontact_numberttstreettTuas Avenue 13tbuilding_not13taddress_typetStbuildingq~tcompany_nameq~tfloorq~titit_numberq~tcitytSGtcountrytSGtgeolocsq~?@ wtsourcetonemapttypetPointtcoordinatessq~   mobile_numberptpostcodet638985ttypesrjava.lang.Integer⠤ 8Ivaluexq~tprioritysq~9tsourcetSINGPOSTtsource_idsq~ xxtchanneltIGG,firefox(40)on mac os x(桌面),6bfda0b,2015-08-17 12:08:35 + 0800temailtbaskaran + 0022 @ redmart .comt   first_nameq〜tidsq〜吨in_groupssq〜WSQ〜@ wtidq〜wxtpasswordt#b68f58941b89d64d33f522c7d83d7031:3utpostcodet638985treferral_tokentbaskaran0022118508tstatussq〜9tintercomt @ e610edfc94b3086dffc8e3fd8709e6e29c2bf9213ec7b83ffd77df40918cc349x

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您需要以正常的Java方式对其进行反序列化,获取Java对象(即models.mongo.Member)。请注意,为此您需要包含models.mongo.Member类的jar文件,最好是用于序列化对象的完全相同的版本(否则它可能无法正常工作)。然后以任何你想要的方式将其转换为案例类。

相关问题