Mongodb Web API返回XML和Json,只需要Json

Mongodb Web API返回XML和Json,只需要Json,mongodb,asp.net-mvc-4,mongodb-.net-driver,Mongodb,Asp.net Mvc 4,Mongodb .net Driver,您好,我正在尝试创建web api,我可以调用它来查看MongoDB中的所有文档,现在文档非常大并且嵌套很多,我已经设法返回了文档,但是是Json格式的,头是XML格式的 我需要用Json返回整个东西 此代码接受BsonDocument产品并将其作为Json返回,因为如果没有此代码,我将得到一个错误: [JsonIgnore] public BsonDocument Product { get; set; } [DataMember] public string

您好,我正在尝试创建web api,我可以调用它来查看MongoDB中的所有文档,现在文档非常大并且嵌套很多,我已经设法返回了文档,但是是Json格式的,头是XML格式的

我需要用Json返回整个东西

此代码接受BsonDocument产品并将其作为Json返回,因为如果没有此代码,我将得到一个错误:

[JsonIgnore]
        public BsonDocument Product { get; set; }

[DataMember]
        public string Product
        {
            get { return Product .ToJson(); }
            set { Product = BsonDocument.Parse(value); }
        }
以下是文档示例(这是一个基本示例,实际文档更大,层次更深:

{
    "product": {
        "Type": "Phone",
            "Size": {
            "Height": 10,
                "Lenght": 5,
                "Weight": 30
        }
        "Make": "Apple"
        "Model": {
            "Name": "IPhone",
                "Range": "4s"
        }

    }
}
它返回为

<Product>
{"product": {"Type": "Phone","Size": {"Height": 10,"Lenght": 5,"Weight": 30}"Make": "Apple", "Model": {"Name": "IPhone","Range": "4s"}}}
</Product>

{“产品”:{“型号”:“手机”,“尺寸”:{“高度”:10,“长度”:5,“重量”:30}“制造”:“苹果”,“型号”:{“名称”:“IPhone”,“系列”:“4s”}}
我该如何解决这个问题

我该如何解决这个问题

像这样:

public HttpResponseMessage Get()
{
    MyViewModel model = ...
    // This will contain the JSON you want to return to the client
    string product = model.Product;

    var response = new HttpResponseMessage();
    response.Content = new StringContent(product, Encoding.UTF8, "application/json");
    return response;
}

感谢您的快速响应,我是否将其放在我的产品类中,其中包含我问题中的第一段代码?不,您将其放在Web API控制器操作中,该操作用于提供此JSON。我明白了,那么MyViewModel将是什么?我不知道。这取决于您。重要的是要有一些包含JSON的字符串属性如我的回答所示,您将传递给
StringContent
构造函数。这完全是您的事情。谢谢,伙计!!非常有用!