我有我的Json字符串作为

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


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


无法将BsonArray转换为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/

10-10 03:17