日期:2014-05-17  浏览次数:20414 次

急!MVC3 返回 Json 问题
求教大牛:
  我用mongo数据库做后台,想返回一个Json对象,总是提示错误:无法将类型为“MongoDB.Bson.BsonObjectId”的对象强制转换为类型“MongoDB.Bson.BsonBoolean”。怎么解决啊?我代码如下:(我使用的mongo驱动 http://www.mongodb.org/display/DOCS/CSharp+Language+Center)

using Mvc3MongoBlog.Models;
using Mvc3MongoBlog.Repository;
using Mvc3MongoBlog.Ctrl;

using MongoService1._0;


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using Mvc3MongoBlog.Models;
using Mvc3MongoBlog.Repository;
using Mvc3MongoBlog.Ctrl;

using MongoService1._0;

public ActionResult Add(Post post)
  {
  var oRes = CSuperTTDCtrl.Instance.AddBlog(post.Title,post.Body); //后台插入数据,成功执行
  var oJsonRes = Json(oRes.Document, JsonRequestBehavior.AllowGet);//把bsondocument文档转换成json格式,
  return oJsonRes;//这一步执行之后弹出错误提示
   
  }

------解决方案--------------------
你这个代码丝毫没有说明BsonDocument是如何转换的。这个代码没有用,看不出问题。
------解决方案--------------------
是,转换json,无非是遍历property然后按照json格式输出出来
你可以参考
http://blog.sina.com.cn/s/blog_5f92e8c50100xun8.html 这种简单的jsonhelper来写个转化即可
另外用T转换为另一个T,貌似不是转换的json吧?json出来就是个字符串吧,你这个转换出来的类型,本身带有生成string(json)的方法吗?