gpt4 book ai didi

c# - 无法在 C# 中将 BsonArray 转换为 BsonDocument

转载 作者:行者123 更新时间:2023-12-02 07:28:09 24 4
gpt4 key购买 nike

我的 Json 字符串为

string myjson = "[
{
"col1": "1",
"col2": "2",
"col3": "3"
},
{
"col1": "4",
"col2": "5",
"col3": "6"
},
{
"col1": "7",
"col2": "8",
"col3": "9"
}]";

问题是:当我创建 bson 文档时,它显示

Cannot convert BsonArray to BsonDocument

这就是我创建 BsonDocument 的方式:

BsonDocument doc = BsonSerializer.Deserialize<BsonDocument>(myjson);

我应该做什么?

最佳答案

BsonDocument doc = new BsonDocument();
BsonArray array = BsonSerializer.Deserialize<BsonArray>(myjson);
doc.Add(array);

我没有尝试过,但应该可以。

编辑:

        string myjson1 = "{ 'col1': '1', 'col2': '2', 'col3': '3'}";
string myjson2 = "{ 'col1': '4', 'col2': '5', 'col3': '6'}";
string myjson3 = "{'col1': '7', 'col2': '8', 'col3': '9'}";

BsonArray arr = new BsonArray();
arr.Add(BsonSerializer.Deserialize<BsonDocument>(myjson1));
arr.Add(BsonSerializer.Deserialize<BsonDocument>(myjson2));
arr.Add(BsonSerializer.Deserialize<BsonDocument>(myjson3));

或者只是在文档中包含一个 values 元素,如下所示:

string myjson = "[ { 'col1': '1', 'col2': '2', 'col3': '3'},{ 'col1': '4', 'col2': '5', 'col3': '6'},{'col1': '7', 'col2': '8', 'col3': '9'}]";    
var doc = new BsonDocument {
{ "values", BsonSerializer.Deserialize<BsonArray>(myjson) }
};

我能做的最好的就是这个。

关于c# - 无法在 C# 中将 BsonArray 转换为 BsonDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37589694/

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