JSON读者期待一个价值,但发现了'功能'

时间:2016-02-06 21:05:15

标签: c# .net mongodb mongodb-csharp-2.0

我有一个包含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 个答案:

答案 0 :(得分:3)

根据文档,BsonSerializer.Deserialize<TNominalType>(String)反序列化 JSON 字符串。

函数在JSON中无效。