Я использую MongoDB через официальный С# драйвер с веб-сайтом ASP.NET MVC.
У меня есть следующая модель С#:
public class Contact
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public DateTime DateAdded { get; set; }
}
Что, если вытащить из MongoDB и сериализовать в строку JSON через MVC, выглядит так:
{
"_id" : ObjectId("52eaad4839b60812fca4bf28"),
"Name": "Joe Blow",
"DateAdded" : ISODate("2014-01-30T19:51:35.977Z")
}
Когда я пытаюсь преобразовать это из строки JSON в объект Javascript в браузере через JSON.parse(), я получаю следующую ошибку:
Uncaught SyntaxError: Unexpected token I
Это связано с тем, что ISODate(...)
недействителен JSON
ObjectId()
также недействителен JSON, но способ, которым я занимаюсь, состоит в том, чтобы просто выполнить string.replace()
в строке JSON до его разбора на клиенте. Я считал, что делать то же самое для ISODate()
, но он чувствует себя немного взломанным.
Есть ли что-то, что я могу сделать, не прибегая к регулярным выражениям на стороне клиента? Возможно, что-то из драйвера MongoDB?