Читатель 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.

Другие вопросы по тегам