You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ToJSON输出中添加指定格式的Timestamp头部信息

如何给VB.NET生成的JSON数组添加指定格式的时间戳头部

嘿,这个需求其实挺常见的,你只需要把原来的PIValues数组包装到一个包含时间戳的外层对象里就行,给你两种实用的实现方式:

方法一:创建专门的响应包装类

这种方式适合需要多次复用这个结构的场景,代码更清晰易维护:

首先定义一个包含时间戳和PI数据的新类:

Public Class PIResponse
    ' 按照要求格式定义时间戳属性
    Public Property TimeStamp As String
    ' 原来的PIValues数组作为子属性
    Public Property PIValues As PIValues
End Class

然后在生成JSON的时候,先构造这个包装对象,再序列化:

' 假设你已经生成好了PIValues实例(piValues)
Dim currentTimeStamp = DateTime.Now.ToString("yyyyMMdd hh:mm:ss")
Dim response = New PIResponse() With {
    .TimeStamp = currentTimeStamp,
    .PIValues = piValues
}

' 序列化输出(以Newtonsoft.Json为例,如果你用System.Text.Json写法类似)
Dim jsonOutput = Newtonsoft.Json.JsonConvert.SerializeObject(response)

方法二:使用匿名类型快速实现

如果只是临时需求,不想额外定义类,可以直接用匿名类型来包装:

' 假设你已经有了生成好的piValues实例
Dim response = New With {
    .TimeStamp = DateTime.Now.ToString("yyyyMMdd hh:mm:ss"),
    .PIValues = piValues
}

' 序列化输出
Dim jsonOutput = Newtonsoft.Json.JsonConvert.SerializeObject(response)

注意事项

  • 这里用的hh是12小时制的小时格式,如果需要24小时制,把格式字符串改成"yyyyMMdd HH:mm:ss"即可(大写的HH)
  • 如果你使用的是.NET Core 3.0+自带的System.Text.Json,只需要把序列化代码换成System.Text.Json.JsonSerializer.Serialize(response)就行

内容的提问来源于stack exchange,提问作者Paul Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:09:58