我想通过ApiController返回下面的示例类,它可能只是JSON.NET序列化的,但我想避免只将整个类转换为json-string 。用BsonDocument通过JSON.NET或XML序列化器序列化类
public class Report
{
[BsonId, JsonIgnore]
public ObjectId _id { get; set; }
public string name { get; set; }
public BsonDocument layout { get; set; }
}
现在我已经看了几个方法,但只有一个工作,到目前为止,这是创造一个第二类和布局属性转换为JSON字符串这样的手动两之间进行映射:
layout.ToJson();
这似乎不是很优雅,我想知道是否有更好的方法。以下观点都不因种种原因工作:
public class Report
{
[BsonId, JsonIgnore]
public ObjectId _id { get; set; }
public string name { get; set; }
[JsonIgnore]
public BsonDocument layout { get; set; }
[JsonProperty(PropertyName = "layout")]
public string layout2JSON()
{
return layout.ToJson();
}
}
或者:
public class Report
{
[BsonId, JsonIgnore]
public ObjectId _id { get; set; }
public string name { get; set; }
public BsonDocument layout
{
get
{
return layout.ToJson();
}
set;
}
}
我很新的C#和可能很容易错过明显的答案。
正确,我试图让整个对象为json,但是JSON.NET并没有序列化BsonDocument并且给我一个错误。你的解决方案有效谢谢! –