当我尝试从web api获取json时,我得到Stackoverflow异常

时间:2015-06-12 19:23:52

标签: json mongodb asp.net-web-api

我制作了web api,它从mongodb

返回了一系列类别
public class Default1Controller : ApiController
    {
        public IEnumerable<Category> Get()
        {
            MongoClient client = new MongoClient();*
            var server = client.GetServer(); 
            var db = server.GetDatabase("local");
            var collection = database.GetCollection<Category>("categories").FindAll().ToList();
            return model;            
        }
    }

问题是,当我得到响应为xml时,我得到了结果。 但是一旦我用寄存器方法写

config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"))

所以当我尝试获得JSON结果时,我得到了异常: StackOverFlowException in NewtonSoft.Json.dll

修改 这是My Category类的代码

public class Category
    {
        public ObjectId _id;

        public string CreatedOn { get; set; }
        public string Description { get; set; } 
    }

因此,您可能认为问题在于序列化ObjectID存在问题

因为如果我使用两个字符串属性ans制作随机类,则返回该类的List,以Json格式返回没有问题

0 个答案:

没有答案