Как мне отформатировать идентификаторы и даты объектов, чтобы они правильно отображались в сериализованном выводе json с использованием .net?
return Json(result, JsonRequestBehavior.AllowGet);
и вот вывод, который я получаю
{
"_id": {
o "Timestamp": 1321487136,
o "Machine": 5156,
o "Pid": -4604,
o "Increment": 78,
o "CreationTime": "/Date(1321487136000)/"
},
"start": "/Date(1321487094000)/",
"end": "/Date(1638039600000)/",
}
Я бы хотел, чтобы json выглядел следующим образом
{
"_id":"4e483da1e517801b09000004",
"end":"2012-12-30T05:00:00.000Z",
"start":"2011-08-14T17:26:57.000Z"
}
Прочитав приведенный ниже совет, получите его с помощью следующего
public class MongoSimpleIdConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(MongoDB.Bson.ObjectId);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return new MongoDB.Bson.ObjectId((string)existingValue);
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(((MongoDB.Bson.ObjectId)value).ToString());
}
}
[HttpGet]
public ContentResult Index()
{
var result = JsonConvert.SerializeObject(svc.GetTasks(), new MongoSimpleIdConverter(), new IsoDateTimeConverter());
return new ContentResult { Content = result, ContentType = "application/json" };
}