gpt4 book ai didi

c# - 在 Mongodb 中将 JObject 存储为 C# 类的属性

转载 作者:可可西里 更新时间:2023-11-01 09:48:25 27 4
gpt4 key购买 nike

我有一个 C# 类作为文档存储在 Mongo DB 中,使用默认的 mongo C# 驱动程序。我给这个类添加了一个属性,如下所示:

public JObject Payload {get;set;}

其中 JObject 是 Newtonsoft JSON 库中的一种类型。当它序列化为 Mongo 时,我得到的文档具有正确的键和结构集,但所有值都是 Newtonsoft 库中的类型名称。例如:

"Payload" : { "fieldOne" : "Newtonsoft.Json.Linq.JObject, Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed", "fieldTwo" : { "Person" : { "attributeOne" : "JObject",

等等。我怎样才能让这个文档正确保存,这样我就有了实际值而不是值中的类型名称?为 Newtonsoft 类型编写自定义序列化程序是我唯一的办法吗?

最佳答案

我们将类型从 JObject 更改为 BsonDocument,并且在设置属性时,我们在字符串表示形式上使用 BsonDocument.Parse物体。当我们需要重新提取 JSON 值时,我们在属性上使用 .ToString() 方法。这似乎有效。

关于c# - 在 Mongodb 中将 JObject 存储为 C# 类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43892955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com