草庐IT

Pickle反序列化

全部标签

java - 无法序列化 MongoDB 中的类 Java 和字符串被编码

我的简单应用程序假设只是用_id到user之间的映射填充MongoDB。我的key(_id)是JSON格式的,它的值只是一个long。{"_id":{"a":"1B2ac","b":"WindowsNT5.2;WOW64;rv:16.0Ff/6.0"},"user":1999129}我有几个问题:问题1:当我尝试插入时,我得到can'sserializeclass...:Causedby:java.lang.IllegalArgumentException:can'tserializeclasstest.mongo.foo.DummyObjectatorg.bson.BSONEncod

java - 将 Joda DateTime 添加到 MongoDB——无法序列化

我正在获取一个DateTime对象并尝试将其保存到MongoDB中。有没有办法为JodaTime实现“可序列化”?这是我收到的错误java.lang.RuntimeException:java.lang.IllegalArgumentException:can'tserializeclassorg.joda.time.DateTime我更愿意将格式保留为DateTime,将其转换为JavaDate是否是更合适的解决方案?如果需要,我可以这样做,但我不想只是保持日期格式一致。谢谢! 最佳答案 目前只有原始类型、Date和扩展DBObj

python - pymongo - 序列化/pickle 连接或数据库对象

我想为GAE的Mapreduce框架编写自定义OutputWriter。这个OutputWriter应该打开一个直接的tcp连接到一个开放的MongoDB端口,并将reduce步骤的结果直接写入这个数据库。我正在使用pymongo与mongodb交互。现有的Mapreduce库要求输出编写器是JSON可序列化的。一旦输出编写器与mongodb实例建立了连接,如下所示:frompymongoimportConnectionconn=Connection(host=MONGODB_HOST,port=MONGODB_PORT)db=conn.test_dbdb.authenticate(M

c# - 对象的MongoDB反序列化/反序列化

我有以下类(class)。publicclassUser:System.Security.Principal.IPrincipal{publicint_id{get;set;}publicIIdentityIdentity{get;set;}publicboolIsInRole(stringrole){}}我正在尝试使用以下代码将此类的实例保存到MongoDB:newMongoClient("").GetServer().GetDatabase("").GetCollection("").Save(newUser{_id=101,Identity=newGenericIdentity(

c# - 将 Mongodb 字符串反序列化为对象

我有一个对象作为我为其创建自定义序列化程序的属性。它所做的只是调用ToString,因为我想在我的集合中将数据表示为字符串。cm.MapMember(c=>c.myObjectProperty).SetSerializer(newObjectToStringSerializer());上面只调用一次并且在保存数据时运行良好。我可以看到具有预期字符串值的父对象。这是基本的序列化程序:publicclassObjectToStringSerializer:IBsonSerializer{#regionIBsonSerializerMemberspublicobjectDeserialize

c# - MongoDB:是否可以只处理一个属性的自定义反序列化器?

我已经进行了一些谷歌搜索,但仍然一无所获。设置自定义序列化程序非常容易,但如何处理类的一个属性的自定义反序列化? 最佳答案 你可以使用投影来实现,这里是一个Slazure示例:首先,安装SlazureNuGet包:PM>Install-PackageSlazure.MongoDB然后在VisualStudio中运行以下C#代码示例:usingSystem;usingSystem.Linq;usingMongoDB.Bson;usingSysSurge.Slazure.Core.Linq.QueryParser;usingSysSur

如何从模式定义中获利以在使用AVRO +架构注册表时序列化/应对消息序列化?

我正在学习kafka,对我来说,使用Avro与模式有一个Kafka主题是有意义的。但是,当涉及到架构定义时,我缺少某些内容:如果我不使用架构注册表,而是在项目中包含AVRO文件,则可以生成Java类,并在发送消息时将其用作抽象层。这非常好,但是现在我在多个项目中有多个版本。我可以想象,将它们保持同步会受到伤害。如果我使用模式注册表,则可以解决上述问题。但是现在,在制作消息时,我看不到一种从模式定义中获利的方法:我需要手动生成通用对象以发送到kafka,我将无法查看我生成的消息是否与模式匹配。我还认为无法使用该模式来对消费者端的消息进行挑选。在序列化和应对消息时,有什么方法可以从模式定义中获利?

Kafka反序列化RCE漏洞(CVE-2023-34040)

漏洞描述SpringKafka是SpringFramework生态系统中的一个模块,用于简化在Spring应用程序中集成ApacheKafka的过程,记录(record)指Kafka消息中的一条记录。受影响版本中默认未对记录配置 ErrorHandlingDeserializer,当用户将容器属性 checkDeserExWhenKeyNull 或 checkDeserExWhenValueNull 设置为true(默认为false),并且允许不受信任的源发布到Kafka主题中时,攻击者可将恶意payload注入到Kafka主题中,当反序列化记录头时远程执行任意代码。影响版本2.8.1漏洞复现

string - Mongo C# 将 ObjectId 反序列化为字符串

我已经更改了我所有的C#实体:publicObjectIdId{get;set;}为此:[BsonRepresentation(BsonType.ObjectId)]publicstringId{get;set;}因为我需要使用Rebus并发送Id,但如果不添加自定义序列化程序,ObjectId是不可序列化的。实际上字符串在其他地方更方便(例如:MVCController中的模型绑定(bind))。无论如何,我认为更改不会有问题,但现在我在尝试将ObjectId反序列化为字符串时遇到异常:我的ApplicationUser类有一个IEnumerableFriendships{get;s

mongodb - TypeError : datetime. datetime() 不是 JSON 可序列化的

我对MongoDB中的时间戳有疑问。情况是这样的:我读入了json并为它们添加了时间戳:my_json['insertTime']=datetime.datetime.now()mongodb.collection.insert_one(my_json)将产生这样的数据库:"insertTime":ISODate("2017-05-24T12:39:34.844Z")在我从数据库读取它并尝试将相同的文档写入另一个mongoDB表后,我收到以下错误:TypeError:datetime.datetime(2017,5,24,12,39,46,671000)isnotJSONseriali