如何强制 netwtonsoft json 序列化程序将日期时间属性序列化为字符串?

发布于 2024-12-08 13:36:38 字数 413 浏览 1 评论 0原文

我正在使用Newtonsoft的Json 当我序列化日期时间属性时,我得到的 json 响应为:

..."CreatedOn":"\/Date(1317303882420+0500)\/",...

我希望它是简单的字符串,因为

..."createdOn": "2011-05-05 14:03:07", ...

我的类属性是 DateTime,我如何强制将其序列化为字符串,因为我们可以添加属性来更改属性名称 有没有

  [JsonProperty("id")]
        public int ProductID { get; set; }

类似的方法来强制 DateTime 属性序列化为字符串?

I am using Newtonsoft's Json
when i serialze a date time property i get the json response as:

..."CreatedOn":"\/Date(1317303882420+0500)\/",...

i want it to be in simple string as

..."createdOn": "2011-05-05 14:03:07", ...

while my class property is DateTime, how can i force to serialze it as string, as we can add attribute to change the property name as

  [JsonProperty("id")]
        public int ProductID { get; set; }

is there a similar way to force a DateTime property to serialize to string??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

公布 2024-12-15 13:36:38

从 James Newton-King 在 StackOverflow 上发表的帖子来看,您似乎可以做到这一点。

string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}    

参考答案:
从 Newtonsoft 的 JSON 序列化器解析 JSON DateTime

这里还有关于 Json 的文档.NET 和日期:
在 JSON 中序列化日期

以下是使用 < code>DateTimeFormat 属性来自定义输出:

return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });

From a post made by James Newton-King on StackOverflow, it looks like you can do this.

string isoJson = JsonConvert.SerializeObject(this, new IsoDateTimeConverter());
// {"Details":"Application started.","LogDate":"2009-02-15T00:00:00Z"}    

Referenced answer:
Parsing JSON DateTime from Newtonsoft's JSON Serializer

Also here is the documentation on Json.NET and dates:
Serializing Dates in JSON

Here is an example of using the DateTimeFormat property to customize the output:

return JsonConvert.SerializeObject(this, Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文