草庐IT

Serialization

全部标签

spring - 带有 Spring MongoTemplates 的 Jackson 自定义反序列化器/序列化器

我在使用springmongoTemplate从/向mongoDB访问和写入数据时遇到问题。对于初学者来说,我有一个数据模型,它表示我试图从mongo检索的对象。我用@JsonSerialize和@JsonDeserialize对其进行了注释,以指定自定义转换器。但是,当我调用mongoTemplate.findById()并尝试获取此对象时,我发现我的自定义反序列化器根本没有被调用,并且我得到HttpMessageNotWriteableException。是否必须进行任何其他配置才能让mongo知道它需要使用我的自定义Jackson反序列化器? 最佳答案

c# - MapReduce输出C#读取mongoDB

publicclassmyType{publicintkey1;publicintkey2;publicintval1;publicintval2;publicintval3;};当我将myType对象插入集合时,读取没有问题。只是:collection.FindAs(query);获取对象:"key1":key1,"key2":key2,"val1":val1,"val2":val2,"val3":val3但是在mapreduce之后(键被构造为两个字段的组合)输出集合的结构略有修改。有点像"_id"{"key1":key1,"key2":key2},"value":{"val1":

c# - MongoDB 未知鉴别器值 => 反序列化为 JSonDocument

在MongoDB中,我有一个类,其属性MyProperty的类型为object。publicMyClass{publicobjectMyProperty;publicstringProp1;publicDateTimeProp2;publicintProp3;}MongoDB的序列化在创建这种类型的JSon时没有任何问题:MyProperty":{"_t":"ExampleClass",[...]}但是当我尝试对它进行序列化时,出现以下错误:AnerroroccurredwhiledeserializingtheMyPropertypropertyofclassMyClass:Unkn

python - 使用 flasks tojson 过滤器序列化日期时间

我收到这个错误:TypeError:datetime.datetime(2012,2,12,0,47,6,542000)isnotJSONserializable当jinja试图解析这一行时:varroot_node_info=eval({{nd|tojson|safe}});nd包含来self的mongo数据库的bson对象。其中一个字段是日期时间对象。我怎样才能让flask正确地序列化它?这是我的mongokit模型(如果相关的话)classItem(Document):structure={"tldr":unicode,"body":unicode,"user":unicode,

c# - C# 中对 MongoDB 查询结果 (BsonDocuments) 的点表示法访问

如何在C#中访问MongoCursor属性。我有以下代码行:MongoCursorresults=collection.Find(searchQuery).SetLimit(10).SetFields(Fields.Include("name1","name","_id"));MongoDB返回一个数组,每个数组有两个属性:name和name1。在调试器的结果View中,我可以看到一个数组,数组中的每一项都包含一个MongoDB.Bson.BsonDocument。我想用点符号访问数组中每个BsonDocument的属性。我怎样才能做到这一点。? 最佳答案

c# - 如何使用 ISO 8601 格式的 DateTime 字段将 JSON 文本反序列化为 BsonDocument?

给定一个包含ISO8601格式时间戳字段的JSON文本,如下所示{"Timestamp":"2016-01-29T14:51:52.4338035-06:00","someKey":"someVal"}如何创建具有正确键入字段的BsonDocument?我试过了BsonDocumentbsonDocument=BsonSerializer.Deserialize(json);但是bsonDocument["Timestamp"]的值类型是BsonString而不是BsonDateTime。如果我尝试调用bsonDocument["Timestamp"].AsBsonDateTime,它

c# - 反序列化 mongodb 生成的包含 bson 数据类型的 json

我收到了一些JSON数据文件——但是,它在每个对象中都包含了BSON数据类型;最重要的是,它是一个非常大的tojson转储(数百万条记录)。我正在尝试反序列化数据,但正如预期的那样失败了。JSON文件包含如下内容:"someKey":NumberLong("1234567889"),里面还有ISODate...有没有办法用Json.net来处理这个问题?似乎可能有一些设置让它使用自定义函数而不是针对特定键的内置解析器?*已更新以包含用于非常大(100GB以上文件)的流+文本阅读器的代码using(StreamReaderfile=File.OpenText(@"\\largedump.

mongodb - EmbeddedDocumentSerializer 为每个 ReferenceField 运行查询

我有以下模型和序列化器,目标是序列化器运行时只有一个查询:模型:classAssignee(EmbeddedDocument):id=ObjectIdField(primary_key=True)assignee_email=EmailField(required=True)assignee_first_name=StringField(required=True)assignee_last_name=StringField()assignee_time=DateTimeField(required=True,default=datetime.datetime.utcnow)user=

c# - MongoDb 自定义集合序列化器

我有四个简单的类publicclassZoo{publicObjectIdId{get;set;}publicListAnimals{get;set;}}publicclassAnimal{publicObjectIdId{get;set;}publicstringName{get;set;}}publicclassTiger:Animal{publicdoubleHeight{get;set;}}publicclassZebra:Animal{publiclongStripesAmount{get;set;}}我创建了自定义序列化程序,它允许我将Animal对象存储在不同的集合(“动

c# - 如何使用 MongoDB C# 序列化程序序列化值类型?

MongodbC#驱动程序不会序列化结构/值类型。如何做到这一点? 最佳答案 您可以使用以下代码创建自定义序列化程序来处理结构:publicclassStructBsonSerializer:IBsonSerializer{publicvoidSerialize(BsonWriterbsonWriter,TypenominalType,objectvalue,IBsonSerializationOptionsoptions){varfields=nominalType.GetFields(BindingFlags.Instance|