我需要从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
有什么想法吗?
答案 0 :(得分:3)
您需要以正常的Java方式对其进行反序列化,获取Java对象(即models.mongo.Member
)。请注意,为此您需要包含models.mongo.Member
类的jar文件,最好是用于序列化对象的完全相同的版本(否则它可能无法正常工作)。然后以任何你想要的方式将其转换为案例类。