MongoDB .NET:将Json转换为BsonArray

问题描述 投票:0回答:1

我有一个看起来像这样的Json文件

{
"CompanyStructure":{
"Version": 1,
"Structure_base":{
   "Employee": "Emp_ID",
   "Jobs": "Job_ID",
   "Contacts": "Contact_form"
                    },
"Structure_1":{
    "Employee": "xyz",
    "Jobs": "1",
    "Contacts": "Home"
              },
"Franchise_X":{
     "Number": "100",
     "Location": "NY",
     "Price": "100k",
     "Clients": "Crowded"
              },
}
etc etc

上面基本上是一个Json文件,但是我无法将其反序列化为BsonArray以便创建列表并放入数据库/ colletion中。这是我的代码尝试反序列化]

string json_data;
using (var json_reader = new JsonReader(json_data))
            {
                var serializer = new BsonArraySerializer();
                BsonArray bsonArray = serializer.Deserialize(BsonDeserializationContext.CreateRoot(json_reader));
                foreach (BsonValue value in bsonArray)
                {
                    collection.InsertOne(value.AsBsonDocument);
                }
            }

我将始终收到错误:“无法将BsonDocument反序列化为BsonArray”。请帮我。谢谢

c# .net mongodb serialization bson
1个回答
0
投票

对于数组,您的JSON数据应位于方括号之间。 ([ ... ]

您可以尝试这个。

var json_reader = new JsonReader("[" + json_data + "]"))
© www.soinside.com 2019 - 2024. All rights reserved.