MongoDB .NET: преобразование Json в BsonArray - PullRequest
0 голосов
/ 28 октября 2019

У меня есть файл 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, чтобы составить список и поместить в базу данных / коллекцию. Здесьмой код пытается десериализовать его

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». Пожалуйста, помогите мне с этим. Спасибо

1 Ответ

0 голосов
/ 28 октября 2019

Для массива ваши данные JSON должны быть в квадратных скобках. ([ ... ])

Вы можете попробовать это.

var json_reader = new JsonReader("[" + json_data + "]"))
...