Читатель JSON ожидал значение, но нашел "функцию"
У меня есть коллекция, которая содержит объект BsonJavascript.
{
"Name" : "HourlyMP",
"MapFunction" : function(){
var _id = this.srcip + " - " + this.hour
var valueData = {
ip: this.srcip,
session: 1
}
emit(_id, valueData);
}
}
Как видите, значение поля "MapFunction" - BsonJavascript. Я могу экспортировать и импортировать эти данные успешно. Но когда я десериализирую экспортированный JSON в BsonDocument, я получаю эту ошибку:
JSON reader was expecting a value but found 'function'
Кстати, я использую официальный драйвер C# 2.2 и мой код десериализации ниже:
BsonSerializer.Deserialize<BsonDocument>(myjsonstring)
редактировать
Я определил функцию как строку, а затем преобразовал ее в BsonJavascriptFunction внутри моего кода. Это решило мою проблему. Спасибо за ответ
1 ответ
Решение
Согласно документации, BsonSerializer.Deserialize<TNominalType>(String)
десериализует строку JSON.
Функции недопустимы в JSON.