2011-01-13 2 views
6

JSONをブラウザ(またはサーバー側JS)に返すサービスを設計するとき、結果のJSON応答の日付をエンコードするための「最良の」形式は何ですか?JSONで日付をエンコードするベストプラクティスは何ですか?

データプロパティがなければならない:

  • は(日付に変換するようにほとんどまたは全く解析を必要とする)オブジェクト
  • はJSON表現自体のミリ秒数を返す

にソート可能1970年1月1日00:00:00 UTC以来、これは最良の選択肢だと思われますが、生のJSONを見ると人間が読めるものではありません。

あなたの経験には何が望ましいのですか?

+1

ここでは、「ベストプラクティス」について考えるのは理にかなっていないと思います。日付/時刻値の管理には多くの可能性がありますが、状況によってはさまざまな解決策が必要です。 – Pointy

+0

しかしこれは非常に具体的なので、JavascriptからJSONを効率的に消費しています。確かに主観的であり、すべての解決策に適合するサイズがないので、私は「最高」を引用しました。私はちょうど他の経験に基づいていくつかの外部の視点と洞察力を得ることを試みています。 – mbrevoort

答えて

12

個人的にはISO 8601(たとえば2011-01-13T14:09Z)とします。

ほぼすべてのプログラミング言語でうまくサポートされていますが、人間が読めるのはかなり簡単です。独自のパーサー/フォーマッタを絶対に使用する必要がある場合は、それに対処することもかなり簡単です。また、あなたが望むソート可能なプロパティもあります。

+0

私は文字列を使うのは良いのですが、日付を見ることができますが、たくさんの文字を送信しているときを除いて、パフォーマンスを損なう可能性があるからです。私は、行ごとに5つのDateオブジェクトが必要なタイムシートソフトウェアで作業しました。文字列の解析は、1日に50件のエントリを含む月間のタイムシート(合計約1500行、または7500の日付)を調べていた人にとってはやや遅かったです。 –

+1

これは、日付文字列の解析が遅かったことに気づいた場合、JSONを使って何をしていたとしても、エポックからISO 8601までの秒数を使用することの違いを測定することに決定し、後者との比較では、おそらく、エポックから数秒かかるはずです。しかし、あなたが特に悪い日付のパーサーを使用していない限り、それは事実だと信じるのは苦労します。 –

関連する問題