XSD 和 JSON 格式是否有标准的持续时间字符串格式?

Is there a standard Duration String Format for both XSD and JSON formats?

我们正在寻找 Duration 属性的通用字符串格式,它可以在基于 JSON 和 XML 的消息中使用。是否有可用于两者的标准持续时间格式?

这是针对 B2B 协议的,其中 "duration" 是一个公共元素。目前这仅在 XML 中实现,因此我们使用 xs:duration 元素创建 XSD(参见 ISO 8601)。我们想包括 JSON 作为替代格式,但使用 xs:duration 字符串感觉不自然。

就我个人而言,我发现 XML xs:duration 格式难以阅读,希望摆脱它

XML xs:duration 2 分 45.3 秒的示例

<device up-time="PT2M45.3S" />

当前使用 .NET TimeSpan 格式的 JSON 中的相同值

 "up-time":"00:02:45.3"

持续时间只有一种标准,即 ISO 8601 格式(XSD 采用)。如果需要,您可以在 JSON 中使用它。

当然,它很丑。标准通常是丑陋的。如果出于商业原因想要为了美观而牺牲使用标准的好处,那么可以使用 (a) 整数秒数,或 (b) xs:time 格式,如 12:30:00 - 在这些格式之间进行转换很容易。但是对于 B2B 协议,我会说标准胜过美学。

根据您描述的内容做出影响整个行业的技术决策 "personal feelings" 似乎不合适。