【问题标题】:Time-stamping JSON fields when created or updated创建或更新时的时间戳 JSON 字段
【发布时间】:2020-02-18 19:09:19
【问题描述】:

我想创建 JSON 文件,在其字段上具有每个操作的时间戳。这种 JSON 文件仅供我的 Android 应用使用,因此它们不必是“标准”。

当其中一个 JSON 文件更新时,首先读取其旧版本,然后执行比较,只有修改的字段才会获得新的时间戳。然后新版本就写好了。

时间戳可能只是具有相似键但带有后缀的字段。例如,如果键是 field1,则对应的时间戳字段可能是 field1_timestamp。此方法允许对没有时间戳的文件进行追溯兼容。

(时间戳可以是数字或字符串)

例子:

{
  "key1":value1,
  "key1_timestamp":"1223911298",
  "key2":"value2",
  "key2_timestamp":"1223911298",
  "arrayKey":[
    {
      "keyA":valueA,
      "keyB":"valueB",
      "keyA_timestamp":"1223911298",
      "keyB_timestamp":"1223911298",
      "keyC":[
        0,
        1,
        2
      ],
      "keyC_timestamp":"1223911298"
    },
    {
      "keyA":anotherValueA,
      "keyB":"anotherValueB",
      "keyA_timestamp":"1223911298",
      "keyB_timestamp":"1223911298",
      "keyC":[
        4,
        5,
        6
      ],
      "keyC_timestamp":"1223911298"
    }
  ],
  "arrayKey_timestamp":"1223911298"
}

我会知道这是一个好还是坏的做法。 还有其他方法吗? 欢迎对这个想法的各个方面提出进一步的建议。

【问题讨论】:

    标签: java android json timestamp field


    【解决方案1】:

    如果您需要这些信息,您的方法对我来说是正确的。我想我以前见过类似的东西。

    我想知道您的业务案例是什么,以及您是否真的需要所有这些时间戳。由于我不了解您的业务案例,因此无法在此指导您。如果是我,我会为每个字段问自己两次“我需要这个字段的时间戳做什么?”

    我建议时间戳采用 ISO 8601 格式的 UTC 字符串,例如 2008-10-13T15:21:38Z(此示例对应于您的示例值,假设那是 Unix 时间戳)。在调试令人惊讶的时间戳时,您会喜欢它的可读性。

    链接: Wikipedia article: ISO 8601

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 1970-01-01
      • 2011-05-31
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多