.NET MongoDB: 从 BsonType 数组反序列化 BsonDocument
.NET MongoDB: Deserialize BsonDocument from BsonType Array
我正在寻找答案,但没有任何帮助,所以我 post 再次提出问题,希望有人能帮助我。
假设我有一个像这样的简单 JSON 字符串:
[
{
"id": 1,
"name": "A"
},
{
"id": 2,
"name": "B"
}
]
这是我将 JSON 解析为 BsonDocument
的代码
using (var jsonreader = new JsonReader(json_data))
{
var context = BsonDeserializationContext.CreateRoot(jsonreader);
//Bson Array, how to deserialize???
var document = collection.DocumentSerializer.Deserialize(context);
collection.InsertOne(document);
}
它将 return 错误“System.FormatException: '无法从 BsonType 'Array' 反序列化 'BsonDocument'。'
如果您想直接将 Json 转换为 BsonDocument,您应该按以下方式进行:
BsonDocument document = BsonDocument.Parse(json_data.toString());
您可能想要分享更多代码,以便更清楚地了解您要做什么。无论如何,我希望这能解决您的问题。
我正在寻找答案,但没有任何帮助,所以我 post 再次提出问题,希望有人能帮助我。 假设我有一个像这样的简单 JSON 字符串:
[
{
"id": 1,
"name": "A"
},
{
"id": 2,
"name": "B"
}
]
这是我将 JSON 解析为 BsonDocument
的代码 using (var jsonreader = new JsonReader(json_data))
{
var context = BsonDeserializationContext.CreateRoot(jsonreader);
//Bson Array, how to deserialize???
var document = collection.DocumentSerializer.Deserialize(context);
collection.InsertOne(document);
}
它将 return 错误“System.FormatException: '无法从 BsonType 'Array' 反序列化 'BsonDocument'。'
如果您想直接将 Json 转换为 BsonDocument,您应该按以下方式进行:
BsonDocument document = BsonDocument.Parse(json_data.toString());
您可能想要分享更多代码,以便更清楚地了解您要做什么。无论如何,我希望这能解决您的问题。