gpt4 book ai didi

c# - 尝试解析序列化 JSON 字符串时处理 MongoDB 的 ISODate()

转载 作者:IT老高 更新时间:2023-10-28 13:09:18 26 4
gpt4 key购买 nike

我正在通过带有 ASP.NET MVC 网站的官方 C# 驱动程序使用 MongoDB。

我有以下 C# 模型:

public class Contact
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public DateTime DateAdded { get; set; }
}

当从 MongoDB 中提取并通过 MVC 序列化为 JSON 字符串时,如下所示:

{
"_id" : ObjectId("52eaad4839b60812fca4bf28"),
"Name": "Joe Blow",
"DateAdded" : ISODate("2014-01-30T19:51:35.977Z")
}

当我尝试通过 JSON.parse() 将其从 JSON 字符串转换为浏览器上的 Javascript 对象时,我收到以下错误:

Uncaught SyntaxError: Unexpected token I

这是因为 ISODate(...) 不是有效的 JSON

ObjectId() 也不是有效的 JSON,但我处理的方式是在 JSON 字符串之前简单地执行 string.replace()在客户端解析它。我考虑为 ISODate() 做同样的事情,但感觉有点太老套了。

有没有什么我可以在客户端不使用正则表达式的情况下做的?也许来自 MongoDB 驱动程序?

最佳答案

我认为您需要进一步调整 JSON 序列化程序。试试这个:

var jsonWriterSettings = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict };
Console.WriteLine(document.ToJson(jsonWriterSettings));

关于c# - 尝试解析序列化 JSON 字符串时处理 MongoDB 的 ISODate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21466446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com